Nee*_*asa 4 ruby activerecord ruby-on-rails self-join
我在ActiveRecord中为我的模型进行了自我连接,如下所示:
class Employee < ActiveRecord::Base
  has_many :subordinates, class_name: "Employee",
                          foreign_key: "manager_id"
  belongs_to :manager, class_name: "Employee"
end 
如果我删除了Manager行,我希望将该Manager下的所有员工的'manager_id'外键值设置为NULL.这是ActiveRecord隐式处理的东西,还是需要在某处定义的东西.
您想要添加dependent: :nullify到您的has_many关联.
class Employee…
  has_many :subordinates, class_name: "Employee",
                          foreign_key: "manager_id",
                          dependent: :nullify
end
http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many