我看了又看……这对我来说还没有意义。不知道什么时候用has_and_belongs_to_many
vshas_many through:
所以,日历。用户创建事件。受邀的一些人可以查看活动(通过与此处无关的关系模型),如果他们选择参加活动,他们将“获得”活动的所有权。所以,一个用户可以有很多事件,一个事件可以有很多用户。
用户...
class User < ActiveRecord::Base
attr_accessible :email, :name, :password, :password_confirmation
has_secure_password
has_many :attendances
has_many :events, through: :attendances
#some other stuff for relationships and validations
出席...
class Attendance < ActiveRecord::Base
attr_accessible :event_id, :user_id
belongs_to :event
belongs_to :user
#some other stuff for validations
活动...
class Event < ActiveRecord::Base
attr_accessible :what, :where, :date, :why
has_many :attendances
has_many :users, through: :attendances
#some other stuff for validations
和事件控制器...
class EventsController < ApplicationController
before_filter :signed_in_user, only: [:create, :destroy]
def create
@event = current_user.events.build(params[:event])
if @event.save
flash[:success] = "Event created!"
redirect_to root_url
else
@feed_items = []
render 'pages/home'
end
end
events_users 表存在。里面只有两列。
当我创建一个事件时,它会成功创建,但它没有附加到创建它的用户。它没有附加到任何用户,并且 events_users 表是空白的。
我错过了什么? 我应该使用has_many through:
吗?