Has_many,通过:保存木匠表失败

时间:2014-06-28 01:03:29

标签: ruby-on-rails

所以我有三个班级:

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时似乎不对。

任何团体都有关于如何记录木匠表的想法?我知道我也可以先创建患者记录,然后用患者身份创建约会记录,但我想知道是否有更多有说服力的解决方案。

1 个答案:

答案 0 :(得分:1)

尝试:

doctor = Physician.first
sick_person = Patient.new
doctor.patients << sick_person