0

有课程状态和票

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 更改为活动状态?

4

2 回答 2

2

用于:dependent => :destroy门票。

class Status < ActiveRecord::Base
  has_many :tickets, :dependent => :destroy  #`:dependent => :nullify` to set all foreign keys to nil
end

这将删除所有已删除状态的工单记录。

于 2013-03-27T19:22:04.583 回答
0
class Status < ActiveRecord::Base
  has_many :tickets, dependent: :destroy
end

这意味着票证取决于状态。当一个状态被销毁时,它也会销毁所有关联的票证。这就是差异#delete变得#destroy更加突出的地方。

于 2013-03-27T19:25:43.590 回答