早上,我有 3 个模型 - 用户、事件和签到
用户可以是与会者或共同发言人。关系/集合连接有效。但是,每当我创建一个事件时;它会自动将它们添加到共同扬声器阵列。在我的创建方法中,它应该只将它们添加到参加者数组中。
调用@event.attendees给了我正确的current_user,但是它不应该为@event.cospeaker返回相同的值。
用户.rb
has_many :checkins
has_many :events, :through => :checkins
签入.rb
belongs_to :user
belongs_to :event
事件.rb
has_many :checkins
has_many :attendees, :through => :checkins, :source => :user
has_many :cospeakers, :through => :checkins, :source => :user
belongs_to :owner, :class_name => "User"
事件控制器
def create
@event = current_user.events.build(params[:event])
if @event.save
@event.owner = current_user
@event.attendees << current_user
@event.save
redirect_to checkin_event_path(:id => @event.id)
end
end