has_many: через ассоциацию
has_many: через ассоциацию часто используется для установления соединения «многие ко многим» с другой моделью.Эта связь указывает на то, что декларирующая модель может быть сопоставлена с ноль или более экземпляров другой модели путем прохождения третьей модели.Например, рассмотрим медицинскую практику, в которой пациенты записываются на прием к врачу.Соответствующие декларации ассоциации могут выглядеть следующим образом
class Physician < ApplicationRecord
has_many :appointments
has_many :patients, through: :appointments
end
class Appointment < ApplicationRecord
belongs_to :physician
belongs_to :patient
end
class Patient < ApplicationRecord
has_many :appointments
has_many :physicians, through: :appointments
end