在ActiveJob :: Base中干

时间:2016-02-10 02:45:32

标签: ruby-on-rails ruby-on-rails-4 rails-activejob

我需要在Jobs中使用清理,所以我写了方法

  def sanitized_sql_statement(query)
    ActiveRecord::Base.send(
        :sanitize_sql_array,
        query
    )
  end

我有2个不同的工作文件。我应该在哪里放置这种方法以及如何在乔布斯中使用它?

1 个答案:

答案 0 :(得分:7)

使用My Viewcontroller
在作业目录concern下创建关注目录,如模型和控制器那样。

写关注文件。

app/jobs/concerns

并包括在你的工作中

module SqlSanitizer
  extend ActiveSupport::Concern

  def sanitized_sql_statement(query)
    ActiveRecord::Base.send(
      :sanitize_sql_array,
      query
    )
  end
end

如果您无法自动加载SqlSanitizer,请在config / application.rb file =&gt;中添加自动加载路径。 class YourJob < ActiveJob::Base include SqlSanitizer # ... do something end