Ruby on rails 回调未调用autosave

Ruby on rails 回调未调用autosave,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我有: 类父级

我有:

类父级

class Thing
我希望当我保存
Thing
的实例时,它的
Parent
也应该被保存。我还希望
Parent
的实例在调用_save
回调之前具有
。事实似乎并非如此

你知道为什么这不起作用吗?我该如何补救?

参考文档

如果将:autosave选项设置为true,Rails将保存所有加载的 成员和销毁标记为销毁的成员 保存父对象

我建议你们在保存回调后创建一个新的回调函数来更新父对象,若你们想这样做的话

但OO的方法是创建处理保存对象的类,例如:

class Thing < ActiveRecord::Base
  belongs_to :parent, autosave: true
end
由于这一点,你将避免回叫地狱-采取同样的措施

class Thing < ActiveRecord::Base
  belongs_to :parent, autosave: true
end
class ThingUpdater
  def initialize(thing)
    @thing = thing
  end

  def call(params)
    @thing.update_attributes(params)
    @thing.parent.update_something
  end
end