У меня есть таблица пользователей и таблица команд.Сейчас у пользователей может быть только одна команда, в колонке users.team_id есть столбец.Но теперь я хочу, чтобы у пользователей было несколько команд.Поэтому я уже создал таблицу user_teams с user_id и team_id.
Я запустил миграцию так:
migrations / create_users_teams
class CreateUsersTeams < ActiveRecord::Migration[5.0]
def change
create_table :user_teams do |t|
t.belongs_to :user, foreign_key: true, null: false
t.references :team, foreign_key: true, null: false
t.timestamps null: false
end
end
end
И мойкод выглядит следующим образом:
models / user.rb
class User < ApplicationRecord
#belongs_to :team
# should now have multiple teams
has_many :user_teams
has_many :teams, through: :user_teams
models / team.rb
class Team < ApplicationRecord
has_many :user_teams
has_many :users, through: :user_teams
models / user_teams.rb (новый файл)
class UserTeam < ApplicationRecord
belongs_to :user
belongs_to :team
end
Из обучающих программ, которые я наблюдал, это было все, что мне нужно было сделать, но я не заполняю таблицу.Что мне здесь не хватает?