Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 延迟::作业丢失活动记录关系,但改为数组_Ruby On Rails_Activerecord_Delayed Job - Fatal编程技术网

Ruby on rails 延迟::作业丢失活动记录关系,但改为数组

Ruby on rails 延迟::作业丢失活动记录关系,但改为数组,ruby-on-rails,activerecord,delayed-job,Ruby On Rails,Activerecord,Delayed Job,我正在上发送电子邮件的职业课。我正在将集合(活动记录关系对象,假设@payments=Payment.where(状态:'pending')传递给Mailer类的参数 Delayed::Job.enqueue( EmailJob.new( 公司:目前的公司, 类型::付款, 收款:@payments#Payment::ActiveRecord_关系 ), 目标:“付款电子邮件”, 公司:现有公司 ) 我面临的问题是,当工人选择工作时,收款被视为付款的数组,我希望这是一个activerecord

我正在上发送电子邮件的职业课。我正在将集合(活动记录关系对象,假设
@payments=Payment.where(状态:'pending')
传递给Mailer类的参数

Delayed::Job.enqueue(
EmailJob.new(
公司:目前的公司,
类型::付款,
收款:@payments#Payment::ActiveRecord_关系
),
目标:“付款电子邮件”,
公司:现有公司
)
我面临的问题是,当工人选择工作时,收款被视为付款的
数组,我希望这是一个activerecord收款对象,这样我就可以在上面做一些事情

默认情况下,ActiveJob支持以下类型的参数:

  • 基本类型(NilClass、String、Integer、Float、BigDecimal、TrueClass、FalseClass)
  • 象征
  • 日期
  • 时间
  • 日期时间
  • ActiveSupport::TimeWithZone
  • ActiveSupport::持续时间
  • 散列(键应为字符串或符号类型)
  • ActiveSupport::HashWithInferenceTaccess
  • 排列
  • 模块
  • 阶级
-

当您传递一个
ActiveRecord::Relation
时,Rails将通过将其强制转换为一个数组来序列化它,因为它不是受支持的类型。ActiveJob确实使用GlobalId来传递单个记录,但似乎更好的选择可能只是创建一个关联或其他方法来获取给定公司的作业中的付款。

另见