我想怎麼能寫的是一樣的東西:如何在不復制控制器名稱的情況下編寫Rails 4路由名稱空間?
namespace :cats do
get '/:breed/' => '#search_by_breed'
get '/:breed/count' => '#count_by_breed'
end
但是,這導致這些航線有:
GET /cats/:breed(.:format) cats/#search_by_breed
GET /cats/:breed/count(.:format) cats/#count_by_breed
其中,由於在cats/#show
斜線,將無法正常工作。
我知道我可以用下面這樣做:
get '/:breed/' => 'cats#search_by_breed'
get '/:breed/count' => 'cats#count_by_breed'
導致這些路線:
GET /:breed(.:format) cats#search_by_breed
GET /:breed/count(.:format) cats#count_by_breed
然而,這種重複每次,命名cats
控制器,我寧願不這樣做(在我的實際代碼中,我有更多的路線,而不僅僅是上面列出的兩個。不幸的是,我實際上並沒有在貓搜索網站上工作......)。我以爲會在這附近散步。
我錯過了什麼嗎?剛剛做完DRY誡命?這似乎是相當普遍的,但我沒有在routing docs中找到類似的東西。