0
我想改變我的應用程序中/felines
的路線爲/cats
,我想這樣做,同時儘可能少地更改我的應用程序代碼(即不重命名模型,控制器或對URL助手的引用)。路由重命名和重定向產生錯誤的URL幫助
在routes.rb
我做
get '/felines', to: redirect('/cats')
resources :cats, as: 'felines'
- 其在
/cats
服務FelinesController#index
- 好 - 並重定向
/felines
到/cats
- 還不錯
但在調試時,我發現
new_feline_path
是/cats/new
- 好felines_path
爲/felines
- BAD!
我還發現,felines_path
將變得/cats
,根據需要,如果切換在routes.rb
兩條線的順序。
爲什麼這些行的順序影響felines_path
的值?
有沒有更好的方法可以實現重新路由和重定向?
真棒!幾個後續問題:1.爲什麼'new_feline_path'不受自頂向下的優先? 2.「felines_redirect」的價值是否與現有路線不同? – tuff
沒有什麼是真的覆蓋'new_feline_path'。它由'資源:貓'生成,如'貓科動物'。 'felines_redirect'的值並不重要,除非你打算在視圖的某個地方使用助手。我們添加它只是爲了讓rails不使用默認值。 – usha