我目前已设置这些路线:
namespace :api do
namespace :v1 do
resources :users do
match 'api/v1/users/all'
end
resources :sessions
end
end
我正在尝试在我的用户控制器中设置一个名为“all”的自定义操作。
如何获得匹配的路线?我试过这些,并没有得到路由错误:
resources :users do
match 'api/v1/users/all' => "users#all" (also "api/v1/users#all" and "api_v1_users#all"
end
使我能够连接自定义操作的路线是什么?
由于
答案 0 :(得分:2)
您需要添加collection
namespace :api do
namespace :v1 do
resources :users do
collection do
get 'all'
end
end
resources :sessions
end
end
namespace
和resources
方法调用创建层次结构;与resource :users
块嵌套的路径将采用它的祖先的路径。 collection
在资源集合上创建嵌套路由,而不是资源的单个实例。
/api/v1/users/all
推荐阅读:http://guides.rubyonrails.org/routing.html#adding-collection-routes