Из руководства по ассоциациям Rails они демонстрируют отношение многие ко многим, используя has_many: through, вот так:
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?
А как насчет кода для удаления или уничтожения? Кроме того, если пациента больше не будет в таблице назначений, он будет уничтожен?