控制器关注rails 4,共享动作

时间:2014-05-06 10:40:13

标签: ruby-on-rails ruby-on-rails-4 controller activesupport-concern

我正试图在控制器之间共享一个动作,例如:

module Backend
  module Exportable
    extend ActiveSupport::Concern

    def show
      respond_to do |format|
        format.xls { set_excel_headers "#{controller_name.classify}_#{params[:id]}_#{Time.now.to_i.to_s}.xls" }
      end
    end
  end
end

你觉得这有什么问题吗?

我是否永远不会通过关注点从rails共享默认操作?

1 个答案:

答案 0 :(得分:0)

您必须在关注目录中创建一个文件(与您的模块名称相同: backend.rb

这是你的代码:

module Backend
    def show
        respond_to do |format|
            format.xls { set_excel_headers "#{controller_name.classify}_#{params[:id]}_#{Time.now.to_i.to_s}.xls" }
        end
    end
end

所以在您的控制器中添加:

extend Backend