我想删除患者及其所有约会而不删除医生。
采取以下协议:
class Patient < ActiveRecord::Base
has_many :appointments
has_many :physicians, through: :appointments
end
class Appointment < ActiveRecord::Base
belongs_to :physician
belongs_to :patient
end
class Physician < ActiveRecord::Base
has_many :appointments
has_many :patients, through: :appointments
每当我移除患者时,我都会失去患者甚至接触过的所有医生(通过预约)。医生可能只见过一名患者......但是当患者被移除时,没有理由去除医生。
我觉得我需要像
这样的东西class Physician < ActiveRecord::Base
has_many :appointments, dependant: hell no!
有人能帮助我吗? has_many through relationship可能是错误的解决方案吗?
由于
编辑:由于相关的患者或医生离开手术,我绝不希望从系统中移除患者或医生。如果医生离开,这并不意味着患者也会离开。虽然我很高兴他们的约会被删除。同样,如果患者离开,这并不意味着我的医生也会离开。
答案 0 :(得分:1)
您是否试图删除或摧毁患者?通常删除应跳过销毁相关记录。不过,请检查API中的这些注释: