Эй, ребята, я работаю над приложением, в котором зарегистрированный пользователь регистрируется и входит в систему. Как только пользователь входит в систему, он может «создать команду» или «присоединиться к команде».Мои ассоциации настроены так:
user.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :confirmable
validates_presence_of :phone, :city, :state, :street, :zip, presence: true, on: :create
belongs_to :team
end
team.rb
class Team < ApplicationRecord
has_many :users
end
и мои таблицы настроены
schema.rb
create_table "teams", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "team_name"
end
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "confirmation_token"
t.datetime "confirmed_at"
t.datetime "confirmation_sent_at"
t.string "firstname"
t.integer "team_id"
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
team_controller.rb
class TeamController < ApplicationController
before_action :authenticate_user!
def index
@team = current_user.team
end
def new_team
end
def create_team
@team = current_user.create_team(sanitize_team)
if @team.save
redirect_to team_root_path
else
render json: @team.errors.full_messages
end
end
def join_team
@teams = Team.all
end
def team
end
private
def sanitize_team
params.require(:team).permit(:team_name, :team_statement)
end
end
Я хочуатрибут team_id пользователей для обновления с идентификатором команд при создании команды.или когда они присоединяются к команде.Верны ли мои ассоциации?Как бы я сделал это в контроллере?