Rails多控制器有相同的动作,我们可以编写单线路径吗?

时间:2015-08-12 11:26:02

标签: ruby-on-rails routing

我有很多控制器,它们有一个动作download_excel。 Action生成使用axlsx gem定义的xls文件。

问题是很多控制器都有相同的动作。无论如何在routes.rb文件中写一个单行路由?

我试过了。

match ':controller(/:download_excel)', :via => [:get]

resource "#{:controller}" do
  get download_excel, on: :collection
end

[:countries, :pricetypes].each do |file|
    resources "#{file}" do
      collection do
        get "#{file}"+'/excel' => "#{file}"+'#excel'
      end
    end
  end

等。没有任何效果。 如何编写动态路由。想尽可能在​​路线中干掉代码。

1 个答案:

答案 0 :(得分:0)

试试这个

match ':controller(/:action(/:id))', :via => [:get, :post]    

我将它用作捕捉所有路线,但是如果你想要你的应用程序要休息,你应该使用资源路线