ruby-on-rails - Rails3 - 提取 route 的常见 Action

标签 ruby-on-rails ruby-on-rails-3

有很多共享通用自定义操作的资源,即:导入和导出:

  resources :users do
    collection do
      post "import"
      get "export"
    end
  end
  resources :companies do
    collection do
      post "import"
      get "export"
    end
  end

有没有办法提取重复代码并重用它? 在以前的 Rails 中,我认为可以通过这样的方式实现:

  imp_exp_collection = {:import => :post, :export => :get}
  resources :users, :collection => imp_exp_collection
  resources :companies, :collection => imp_exp_collection

最佳答案

你可以在你的路由文件中定义一个方法并且可以调用它们

def imp_exp_collection
  collection  do
    post "import"
    get "export"
  end
end

并按如下方式使用它

  resources :users do
   imp_exp_collection
  end

关于ruby-on-rails - Rails3 - 提取 route 的常见 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139172/

相关文章:

ruby-on-rails - 如何将参数传递给 ruby​​ 中的 rake 任务

ruby-on-rails - 如何在本地定义环境变量而不更改它们的定义/将它们推送到 heroku?

ruby-on-rails-3 - 如何允许异常在 rspec 请求规范中冒泡

ruby - 在 html erb 中使用 javascript 值

ruby-on-rails - Rails 3 - AJAX,响应 JS - 如何处理错误

ruby-on-rails - Rails ckeditor 在 "*": expected "{", 之后无效的 CSS 是 "html .cke_uicol..."

ruby-on-rails - 如何使用带有 RSpec 的 send_file 方法测试下载图像?

ruby-on-rails-3 - rails mongoid3 和 SEO URL

ruby-on-rails - 这个 Rspec 测试有什么问题

ruby-on-rails - 为什么此方法无法检测 ActionView::Template :render?