关联之前的“保存之前”回调

时间:2010-06-22 06:54:44

标签: ruby-on-rails

保存父对象时,如何在关联上调用“before_save”回调?例如:

class Company < ActiveRecord::Base
  belongs_to :user

  before_save Proc.new { ... } # Not called.
end

class User < ActiveRecord::Base
  has_one :company

  before_save Proc.new { ... } # Gets called.
end

params = { 
  :user => { 
    :name => "Kevin Sylvestre", 
    :company_attributes => { :city => "Waterloo", :region => "Ontario" } 
  }
}

@user = User.new(params[:user])
@user.save

在用户上调用“before_save”,但在公司上调用。感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用此patch为has_one关联添加“触摸”功能,或者只是在用户模型中定义另一个after_save回调,并在那里“触摸”公司实例。