class CreateBoardsUsers < ActiveRecord::Migration
def change
create_table :boards_users, id: false do |t|
t.integer :board_id
t.integer :user_id
end
end
end
Называть миграцию лучше CreateBoardsUsersJoinTable.
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_and_belongs_to_many :boards
has_many :tasks
end
class Board < ActiveRecord::Base
belongs_to :owner, class_name: "User"
has_and_belongs_to_many :users
has_many :tasks, dependent: :destroy
end
Когда пишите has_and_belongs_to_many имя модели во множественном числе. У вас в коде :user
Если есть необходимость можно в join_table добавить индексы:
add_index :boards_users, :board_id
add_index :boards_users, :user_id
Когда исправите свои модели рельсы сами выстроят нужные ассоциации.