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
每个用户对任何特定事件都应该只有一次预订……first
假设是这样。(更好的方法?)
无论如何,模型status
上的方法Reservation
应该返回一个%w[not_attending, awaiting_payment, payment_received]
什么是“Rails 方式”来处理从模型到模型的这些关系/查找(甚至可能从更清晰的方法名称开始:attendee_status(event)
)?!?