Скажем, has_many through определено так для модели rails.
class Physician < ApplicationRecord
has_many :appointments
has_many :patients, through: :appointments
has_many :tickets, through: :appointments #For calling **physicion.tickets**. Is this possible???
end
class Appointment < ApplicationRecord
belongs_to :physician
belongs_to :patient
has_many :tickets, as: ticketable
end
class Patient < ApplicationRecord
has_many :appointments
has_many :physicians, through: :appointments
end
Это отлично работает. Но давайте добавим модель заявки на встречу, чтобы каждая встреча могла сохранить билеты, принадлежащие этой встрече.
class Ticket < ApplicationRecord
belongs_to :ticketable, polymorphic: true #so it can be used in other models other than appointments
end
appointment.tickets
отлично работает. Но как мы можем получить все билеты для конкретного врача / пациента, например physicion.tickets
или patient.tickets
?