我目前将我的应用程序分为两个单独的命名空间admin
和public
。
虽然我的所有公共控制器都在public
模块中,但我不希望路由包含命名空间,所以我的资源看起来像这样:
# config/routes.rb
resources :galleries, only: [:index, :show], module: :public do
resources :photos, only: [:show], module: :public
end
resources :pages, only: :show, module: :public
resources :tags, only: [:show, :index], module: :public
在每个资源上使用module: :public
让我烦恼。我该如何干这个?
答案 0 :(得分:3)
这就是scope
方法的用途(它不仅适用于模块,您还可以将它用于控制器,命名空间等...)。路线指南中给出的示例是
scope module: 'admin' do
resources :posts, :comments
end