使用current_page時,有沒有人經歷過神祕莫測的路由?在Rails 3中?即使完全生成的腳手架包含路線,視圖和控制器,我也會收到「無路線匹配」錯誤。在Rails 3中使用current_page時出現「沒有路由匹配」
下面的代碼:
if current_page?(:controller => 'users', :action => "show")
如果我添加一個「匹配」命令的routes.rb,它工作正常,但爲什麼我需要做的是,如果已經創建了資源?我錯過了什麼?
使用current_page時,有沒有人經歷過神祕莫測的路由?在Rails 3中?即使完全生成的腳手架包含路線,視圖和控制器,我也會收到「無路線匹配」錯誤。在Rails 3中使用current_page時出現「沒有路由匹配」
下面的代碼:
if current_page?(:controller => 'users', :action => "show")
如果我添加一個「匹配」命令的routes.rb,它工作正常,但爲什麼我需要做的是,如果已經創建了資源?我錯過了什麼?
你錯過從這個助手的id
參數:
current_page?(:controller => "users", :action => "show", :id => "1")
它希望你通過通過一個完整的路線。如果你不想要這個,只想匹配控制器和動作,那麼我會建議你自己編碼。
如果你只是想測試電流控制器,你可以做到以下幾點:
if params[:controller] == 'users'
同樣,如果您使用的是命名空間的控制器,你可以只使用一個斜線命名空間分離(S )從控制器名稱,例如:
if params[:controller] == 'advertising/users'
不錯,非常感謝! – Dan 2011-04-15 18:50:50