【问题标题】:Rails namespace routes and custom action on resourceRails 命名空间路由和对资源的自定义操作
【发布时间】:2012-12-06 18:33:26
【问题描述】:

我目前设置了以下路线:

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

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

谢谢

【问题讨论】:

    标签: ruby-on-rails namespaces routes


    【解决方案1】:

    您需要添加collection

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

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

    /api/v1/users/all
    

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

    【讨论】:

      猜你喜欢
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2014-08-22
      相关资源
      最近更新 更多