Как заполнить поля в has_many через таблицу соединений

У меня есть вопрос относительно ассоциации активных записей, относящийся к этой части документации по рельсам:

http://guides.rubyonrails.org/association_basics.html#the-has_many -through-association

, если у нас есть три модели:

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

В документации сказано, что набором моделей соединения можно управлять через api следующим образом:

physician.patients = patients

но что, если модель назначения, как в связанном примере, есть поле с именем assign_date, и я хочу создать новую встречу для врача и пациента в определенную дату? Следующий код создаст запись в таблице встреч, но как также указать дату встречи на третьем этапе?

physician = Physician.first
patient = Patients.first
physician.patients << patient

существует ли что-то подобное?

physician.patients.create( :patient => patient, 'appointment.appointment_time' => appointment_time ) 

8
задан Lenin Raj Rajasekaran 3 March 2014 в 19:05
поделиться