Ruby on rails Rails 3路由:向命名空间中的所有资源添加操作
我正在为cms设计我的管理面板,我想要下载,图片和文章。这些元素中的每一个都可以分类,所以我在每个控制器上都有一个动作“分类”(下载、图像和文章) 在我的路由文件中,我有以下内容:Ruby on rails Rails 3路由:向命名空间中的所有资源添加操作,ruby-on-rails,ruby-on-rails-3,routes,Ruby On Rails,Ruby On Rails 3,Routes,我正在为cms设计我的管理面板,我想要下载,图片和文章。这些元素中的每一个都可以分类,所以我在每个控制器上都有一个动作“分类”(下载、图像和文章) 在我的路由文件中,我有以下内容: namespace :admin do resources :downloads resources :images resources :articles end 我的问题是上面的代码只为索引、显示、编辑、更新和销毁创建路由。是否有一种方法可以将categories操作添
namespace :admin do
resources :downloads
resources :images
resources :articles
end
我的问题是上面的代码只为索引、显示、编辑、更新和销毁创建路由。是否有一种方法可以将categories操作添加到所有资源中一次,而不声明三次?如果需要更细粒度的控制,还可以提供自己的自定义资源方法:
namespace :admin do
[:downloads, :images, :articles].each do |resource|
resources resource do
get :categories, :on => :collection
end
end
end
Rails.application.routes.draw do
def resources_with_count(*params, &block)
resources *params do
collection do
get :count
end
end
resources *params, &block
end
# This will now generate regular resources, but also add the /users/count route as well
resources_with_count :users do
resources :comments
end
resources_with_count :posts
end