ネストされたカテゴリのシステムがあり、routes.rbファイルで次のように処理されます。
path = "/categories/:id"
10.times do |i|
path << "/:id#{i}"
match path => "categories#show", :via => [:get]
end
これはすべて非常にうまく機能します。
問題は、一般的なcategories#showページを使用したくない場合がいくつかあることです。たとえば、あるカテゴリでは、まったく異なるコントローラーに向けて発砲したいと思います。
私はこのようなことをすることができると思いました:
# Override certain category page
match "categories/MyCategory" => "othercontroller#specialcase"
path = "/categories/:id"
10.times do |i|
path << "/:id#{i}"
match path => "categories#show", :via => [:get]
end
これを行うことで、正確に「www.myurl.com/categories/MyCategory」のリクエストが代わりに渡されると思いましothercontroller
たcategories
。しかし、そうではないようです。
誰かが理由を説明できますか?優先順位はファイルの順序に基づいていると思いました。