所以我有三个班级:
class Physician < ActiveRecord::Base
has_many :appointments
has_many :patients, through: :appointments
end
class Appointment < ActiveRecord::Base
belongs_to :physician
belongs_to :patient
end
class Patient < ActiveRecord::Base
has_many :appointments
has_many :physicians, through: :appointments
end
我正在尝试通过现有的医生记录创建新的患者记录。
doctor = Physician.first
sick_person = doctor.patients.new
sick_person.save
发生的事情是患者记录被保存但是木匠记录,约会没有被创建。我一直在阅读一些论坛,他们建议我使用inverse_of(https://github.com/rails/rails/issues/6161#issuecomment-6330795,这在使用:through时似乎不对。
任何团体都有关于如何记录木匠表的想法?我知道我也可以先创建患者记录,然后用患者身份创建约会记录,但我想知道是否有更多有说服力的解决方案。
答案 0 :(得分:1)
尝试:
doctor = Physician.first
sick_person = Patient.new
doctor.patients << sick_person