我想在资源成员上创建一个资源丰富的路由,但我似乎无法找到创建我想要的命名路由的语法。
namespace :admin
resources :foobars do
get :attribute, on: :member, as: :attribute
end
end
这将提供一个名为:
的路由方法attribute_admin_foobar_path
我想说:
admin_foobar_attribute_path
我能想到的另一种方法是拒绝resources
块并创建一条路线:
namespace :admin
resources :foobars
get 'foobars/:id/attribute', as: :foobar_attribute
end
但是,我不喜欢这种方法,因为它迫使我复制已经存在的路由的路由结构......不是很干。
有没有办法可以在使用resources
路由块的同时创建我想要的路由名称?
答案 0 :(得分:0)
如果你这样做:
namespace :admin do
resources :foobars do
get :attribute
end
end
你会得到:
admin_foobar_attribute GET /admin/foobars/:foobar_id/attribute(.:format) admin/foobars#attribute
那是admin_foobar_attribute_path
。