拥有类状态和故障单
class Status < ActiveRecord::Base
has_many :tickets
end
class Ticket < ActiveRecord::Base
belongs_to :status
attr_accessible :name, :status_id
end
在视图中,我有一个下拉菜单,您可以在其中选择故障单的状态,其中状态ID是选项的值。当我去删除状态时会出现问题,已删除状态的状态ID仍保存在故障单中。如何取消具有该销毁状态的故障单的所有状态ID,或者将这些故障单的状态ID更改为活动状态?
答案 0 :(得分:2)
使用:dependent => :destroy
作为门票。
class Status < ActiveRecord::Base
has_many :tickets, :dependent => :destroy #`:dependent => :nullify` to set all foreign keys to nil
end
这将删除已删除状态的所有故障单记录。
答案 1 :(得分:0)
class Status < ActiveRecord::Base
has_many :tickets, dependent: :destroy
end
这意味着门票取决于状态。当状态被销毁时,它也会销毁所有关联的票证。
这就是#delete
和#destroy
的差异变得更加突出的地方。