В приложении PlayStation у меня есть модель User, которая уже имеет has_many through
связь с ролями и user_roles.Теперь наше требование требует от нас создать командную модель, в которой есть один капитан, а капитан является пользователем (одна запись модели пользователя), и в то же время в команде много игроков.Я реализовал сценарий следующим образом:
class User < ApplicationRecord
has_many :user_roles
has_many :roles, through: :user_roles, :dependent => :destroy
belongs_to :team
end
class Team < ApplicationRecord
has_one :captain, class_name: 'User' , foreign_key: 'captain_id'
has_many :users, dependent: :destroy
end
Моя проблема в том, что я не могу создать пользователя без команды.Когда я создаю нового пользователя, он спрашивает team must exist
.Наш план состоит в том, чтобы создать пользователя, а затем мы назначим каждого пользователя в качестве игроков, и из них один будет капитаном.Поэтому, пожалуйста, сообщите мне, если мой мыслительный процесс неверен в отношении варианта использования, а также предложите мне идеальный стиль ассоциации для варианта использования.