【发布时间】:2012-02-17 10:37:32
【问题描述】:
我有一个完美运行的 has_many :through 模型。
has_many :varietals
has_many :grapes, :through => :varietals, :dependent => :destroy
我想调用另一个动作而不是 :destroy。事实上,我并不想使该项目无效或销毁它,我想将记录状态字段从 1 更新为 0,而不是销毁记录。
如何调用自定义方法而不是 destroy ?我想我可以在模型本身中做到这一点......谢谢。
把这个方法放在哪里?在主模型中还是在记录将被销毁的模型中?
编辑:
对不起,我认为我没有充分解释我的问题。我的问题不仅是主模型被破坏后的事情。即使没有销毁主记录,我也想在 Varietal 模型本身中自定义销毁操作。
类似:
class Varietal < ActiveRecord::Base
private
def destroy
self.update_attributes(:status => 0)
end
end
其实这个动作并没有被调用...
【问题讨论】:
标签: ruby-on-rails destroy