Rails after_commit / after_save挂钩在同一个实例上?

时间:2017-04-10 09:29:13

标签: ruby-on-rails ruby activerecord callback after-save

我打算使用模型的一些瞬态属性,我在初始化对象时设置,然后在after_save或after_commit回调中读取它。 我可以预见的唯一问题是,在多服务器环境中,如果在其他实例上调用after_save,我就无法访问瞬态变量。 那么,想知道是否有可能在不同于创建/更新的实例上执行after_save回调?

我想要做的例子:

u = User.new email: 'x'
u.transient_attr = 'y'

User类的定义:

class User{
  after_save :check_something

  def check_something
    if transient_attr == 'y'
      //do something
    end
  end

}

如您所见,我正在启动对象并设置transient属性。 是否可以保证当我收到after_save回调时,我在对象上设置的transient属性将可用?

0 个答案:

没有答案