0

我看了又看……这对我来说还没有意义。不知道什么时候用has_and_belongs_to_manyvshas_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:吗?

4

0 回答 0