User
has_many :reservations, :dependent => :destroy
has_many :events, :through => :reservations
Reservation
belongs_to :user
belongs_to :event
Event
has_many :reservations, :dependent => :destroy
has_many :attendees, :through => :reservations, :source => :user
私が欲しいのはUser
、特定のイベントでそのユーザーのステータスを調べるためにクエリできるメソッドです。何かのようなもの:
def attendee_status(event)
res = self.reservations.where(event: event.id).first
if res
res.status
else
0
end
end
とりわけ、関連付けの構文に混乱しています...column reservations.event does not exist
各ユーザーは、特定のイベントの予約を 1 つだけ持つ必要first
があります...それを前提としています。(より良い方法?)
とにかく、モデルのstatus
メソッドは次のいずれかを返す必要がありますReservation
%w[not_attending, awaiting_payment, payment_received]
モデルからモデルへのこれらの関係/ルックアップを処理するための「Rails の方法」は何ですか (おそらく、より明確なメソッド名から始めることもできます: attendee_status(event)
)?!?