我需要在Jobs中使用sanitization,所以我写了方法 def sanitized_sql_statement(query) ActiveRecord::Base.send( :sanitize_sql_array, query ) end 我有2个不同的工作文件.我应该在哪里放置这种方法以及如何在乔布
def sanitized_sql_statement(query) ActiveRecord::Base.send( :sanitize_sql_array, query ) end
我有2个不同的工作文件.我应该在哪里放置这种方法以及如何在乔布斯中使用它?
使用关注.在作业目录app / jobs / Concerments(如模型和控制器)下创建Concer目录.
写关注文件.
module SqlSanitizer extend ActiveSupport::Concern def sanitized_sql_statement(query) ActiveRecord::Base.send( :sanitize_sql_array, query ) end end
并包括在你的工作中
class YourJob < ActiveJob::Base include SqlSanitizer # ... do something end
如果您无法自动加载SqlSanitizer,请在config / application.rb file =>中添加自动加载路径. config.autoload_paths<< “#{} Rails.root /应用/工作/关注”