Ruby on rails Rails:如何在接受\u嵌套的\u属性\u时触摸父存储上的子记录?
我有一个关于我的孩子模型的电话,但没有被呼叫: 图书(母版)模型: 图书版本(子)模型: 我试图这样做,当用户转到父窗体并清除嵌套的窗体字段时,子记录会删除自身。然而,当我提交@book的表单_时,我的回调没有被触发,我认为这是因为它通过父对象间接地保存了子对象,而没有命中BookVersion模型Ruby on rails Rails:如何在接受\u嵌套的\u属性\u时触摸父存储上的子记录?,ruby-on-rails,Ruby On Rails,我有一个关于我的孩子模型的电话,但没有被呼叫: 图书(母版)模型: 图书版本(子)模型: 我试图这样做,当用户转到父窗体并清除嵌套的窗体字段时,子记录会删除自身。然而,当我提交@book的表单_时,我的回调没有被触发,我认为这是因为它通过父对象间接地保存了子对象,而没有命中BookVersion模型 我正在寻找类似于touch:true的东西,但是在上有很多关联,而不是所属的我只是将回调移到Book,而不是BookVersion: after_save :delete_invalid_book_
我正在寻找类似于
touch:true
的东西,但是在上有很多关联,而不是所属的我只是将回调移到Book
,而不是BookVersion
:
after_save :delete_invalid_book_versions
def delete_invalid_book_versions
book_versions.each do |book_version|
book_version.destroy if book_version.price.blank?
end
end
belongs_to :book
after_save :destroy_self_if_invalid
def destroy_self_if_invalid
self.destroy if (isbn.blank? || price.blank?)
end
after_save :delete_invalid_book_versions
def delete_invalid_book_versions
book_versions.each do |book_version|
book_version.destroy if book_version.price.blank?
end
end