Max*_*kas 3 ruby-on-rails ruby-on-rails-4 rails-activejob
我需要在Jobs中使用sanitization,所以我写了方法
def sanitized_sql_statement(query)
ActiveRecord::Base.send(
:sanitize_sql_array,
query
)
end
Run Code Online (Sandbox Code Playgroud)
我有2个不同的工作文件.我应该在哪里放置这种方法以及如何在乔布斯中使用它?
使用concern.
在jobs目录下创建jobs目录,app/jobs/concerns如模型和控制器.
写关注文件.
module SqlSanitizer
extend ActiveSupport::Concern
def sanitized_sql_statement(query)
ActiveRecord::Base.send(
:sanitize_sql_array,
query
)
end
end
Run Code Online (Sandbox Code Playgroud)
并包括在你的工作中
class YourJob < ActiveJob::Base
include SqlSanitizer
# ... do something
end
Run Code Online (Sandbox Code Playgroud)
如果您无法自动加载SqlSanitizer,请在config/application.rb file =>中添加自动加载路径 config.autoload_paths << "#{Rails.root}/app/jobs/concerns"
| 归档时间: |
|
| 查看次数: |
1209 次 |
| 最近记录: |