1

我目前设置了这些路线:

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

使我能够连接到我的自定义操作的路线是什么?

谢谢

4

1 回答 1

2

您需要添加一个collection

namespace :api do
  namespace :v1 do
    resources :users do
      collection do
        get 'all'
      end
    end
    resources :sessions
  end
end

namespaceandresources方法调用创建层次结构;与块嵌套的路线resource :users将采用其祖先的路径。在collection资源集合上创建嵌套路由,而不是资源的单个实例。

/api/v1/users/all

推荐阅读: http: //guides.rubyonrails.org/routing.html#adding-collection-routes

于 2012-12-06T18:46:42.627 回答