路由过于冗长 - rails

时间:2013-12-20 15:01:10

标签: ruby-on-rails ruby routes

假设我有一个模型User,我想添加一些dashboard命名空间。所以我创建dashbord目录并放入private_users_controller.rb。现在路由我把

namespace "dashboard" do
    resources :users do
      member do
        get "show" => "private_users#show"
      end
    end
  end

问题是我只想路由具有此路由/dashboard/users/:id/show的get请求。但rake routes显示了一堆postdelete ...路线。 我怎么能削减那些?

2 个答案:

答案 0 :(得分:4)

看起来你不需要任何来自资源定义的方法,所以只需添加一个匹配即可。

namespace "dashboard" do
  match 'users/:id/show', :to => 'private_users#show'
end

如果您坚持使用资源,那么以下内容将起作用

scope '/dashboard' do
    resources :users, :only => :show, :module => 'private'
end

'rake routes'输出就像这样

GET    /dashboard/users/:id(.:format)        private/users#show 

不需要在网址内跟踪“显示”。

答案 1 :(得分:1)

namespace "dashboard" do
  get "users/:id/show" => "private_users#show"
end