簡體   English   中英

rails3 中的匹配路線僅適用於第一條路線

[英]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 提供的高壓:

https://github.com/thoughtbot/high_voltage

這行不通,對不起。 您正在嘗試將相同的 url 到 go 用於兩個不同的地方。 要匹配的第一個參數是 url 在瀏覽器中的外觀,並且您為兩條路線提供了完全相同的參數。

您需要以某種方式區分網址。

您是否真的在嘗試這樣做:

match "/pages/aboutus" => "pages#aboutus"
match "/pages/team" => "pages#team"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM