【发布时间】:2015-02-13 15:46:42
【问题描述】:
在我的seeds.rb 文件中,我正在创建多个 Job 类的对象。 Job 有这些回调:
class Job < ActiveRecord::Base
...
after_create :notify_by_email, :notify_by_text
...
end
我想避免在开发和暂存中生成这些电子邮件或文本消息(开发当前使用的是 LetterOpener,在我的浏览器中弹出这些电子邮件很痛苦。我只想能够运行 rake db:seed 并忽略终端)。在 StackOverflow 上的另一个问题中,我发现我可以使用它:
Job.skip_callback(:create, :after, :notify_by_email)
所以我尝试了以下方法在一行中跳过两个回调:
Job.skip_callback(:create, :after, { :notify_by_email, :notify_by_text })
但是,这引发了错误。我检查了ActiveSupport API,但它并没有表明可以做我想做的事情,所以我求助于这个:
Job.skip_callback(:create, :after, :notify_by_email)
Job.skip_callback(:create, :after, :notify_by_text)
有没有一种方法可以更像上面的回调散列尝试?
【问题讨论】:
标签: ruby-on-rails ruby callback arguments activesupport