[英]Matching routes in rails3 only works for first route
我在 controller 中捕獲的 static 頁面有這兩條路線。
match "/pages/:page" => "pages#aboutus"
match "/pages/:page" => "pages#team"
我認為它可以通過匹配“aboutus”或“team”來工作,但路由似乎只能通過查找上面的第一個條目來工作。
我的 controller 看起來像這樣:
def aboutus
end
def team
end
知道如何將 go 路由到正確的 controller 條目嗎?
謝謝!
它不能那樣工作。
你寫的意味着請求被分派到pages
控制器的aboutus
操作,參數中包含{:page }
。 你的:page
應該是什么?
另外,請閱讀路由指南
如果您希望/pages/aboutus
重定向到pages#aboutus
和/pages/team/
到pages#team
,請執行以下操作:
match "/pages/aboutus" => "pages#aboutus"
match "/pages/team" => "pages#team"
匹配項與名稱/值對中的名稱相反。 你可以這樣做:
match "/pages/about-us" => "pages#aboutus"
match "/pages/team" => "pages#team"
但是,如果您正在尋找處理 static 頁面的全局解決方案,我推薦 thinkbot 提供的高壓:
這行不通,對不起。 您正在嘗試將相同的 url 到 go 用於兩個不同的地方。 要匹配的第一個參數是 url 在瀏覽器中的外觀,並且您為兩條路線提供了完全相同的參數。
您需要以某種方式區分網址。
您是否真的在嘗試這樣做:
match "/pages/aboutus" => "pages#aboutus"
match "/pages/team" => "pages#team"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.