我有2个Ruby on Rails模型类A和B是依赖的,我想在保存另一个时保存一个。
我目前的解决方案是使用像How to avoid ActiveRecord model double saving?这样的临时属性 但是有更好的方法吗?
class A < ActiveRecord::Base
has_many :b
attr_writer :save_b_values
def save_b_values
return @save_b_values if defined? @save_b_values
true
end
before_save do
save_b_values = false
if save_b_values
b.each do |bi|
bi.save!
end
end
end
after_save do
save_b_values = true
end
end
class B < ActiveRecord::Base
belongs_to :a, autosave: true
end