条件回调范围

时间:2014-01-23 21:21:12

标签: ruby-on-rails callback conditional

我的模型中有一些条件回调

before_create :save_tempfile, :if => :has_stream_content?
after_create :add_track, :if => :has_stream_content?
before_update :add_track, :if => :has_stream_content?

是否有rails方法来组织条件回调范围?像这样的Smth:

before_create :save_tempfile; after_create, before_update :add_track, :if => :has_stream_content?

2 个答案:

答案 0 :(得分:1)

不,没有。

顺便说一下,你的代码看起来很好。比没有新行的版本更具可读性。

答案 1 :(得分:1)

据我所知,你不能找到你正在寻找的东西。您可以使用proc为回调设置多个条件,但不能使用单个条件进行多次回调。当前代码是实现此目的的唯一方法。为了更好地理解和更清晰的图片,请参阅

Callbacks overview:Active Record为此对象生命周期提供了挂钩,以便您可以控制应用程序及其数据。