Ruby on rails 延迟的\u作业如何设置.delay(在以下位置运行\u:from(属性).time.from\u now)

Ruby on rails 延迟的\u作业如何设置.delay(在以下位置运行\u:from(属性).time.from\u now),ruby-on-rails,delayed-job,Ruby On Rails,Delayed Job,我正在成功地使用延迟作业,如: Mailer.delay(run_at: 1.minutes.from_now).my_mail(my model) 我想用一个属性设置分钟数,在本例中称为:frequency。 我试过:frequency/frequency:/frequency/[frequency][:frequency] 我得到的一个错误是 undefined method `minutes' for :frequency:Symbol 我想做的事可能吗?还是我应该做点别的? 我该怎

我正在成功地使用延迟作业,如:

 Mailer.delay(run_at: 1.minutes.from_now).my_mail(my model)
我想用一个属性设置分钟数,在本例中称为:frequency。 我试过:frequency/frequency:/frequency/[frequency][:frequency]

我得到的一个错误是

undefined method `minutes' for :frequency:Symbol
我想做的事可能吗?还是我应该做点别的? 我该怎么做? 谢谢你的帮助。

试试:

frequency = 10
"#{frequency}".to_i.minute.from_now

它实际上是{:frequency}如果你重新发布你的答案,我会验证。谢谢事实上,我预料到了自己,因为我没有看到任何错误,但它会立即发送电子邮件,不管传递到频率中的值是多少。我正在通过表单传递一个值。你知道我该怎么纠正吗?谢谢你的帮助!尝试将{frequency}.to_i.minute.from_now部分写入变量,并使用puts或logger.info验证它是否获得了预期的正确值。我猜频率被设置为零。好的,终于正确了。它是{mymodel.frequency}。谢谢你的帮助。