Добавление и удаление из отношения has_many: through

Из руководства по ассоциациям Rails они демонстрируют связь «многие ко многим» с помощью has_many: через, например:

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

Как мне создавать и удалять встречи?

Если у меня есть @physician , могу ли я написать что-то вроде следующего для создания встречи?

@patient = @physician.patients.new params[:patient]
@physician.patients << @patient
@patient.save # Is this line needed?

А как насчет кода для удаления или уничтожения? Также, Если пациент больше не существует в таблице встреч, будет ли он уничтожен?

5
задан dteoh 11 December 2010 в 05:59
поделиться