Я пишу свое первое приложение на Rails и застрял на уровне базы данных.У меня 2 модели: User
и Mission
.Они подключены очень невероятно примерно так:
User has_many :missions, dependent: :destroy
Mission belongs_to :user
Я бы хотел, чтобы другие пользователи могли взаимодействовать с миссиями: , любя их и / или помечая их как завершенные
Это все очень ванильные вещи, но я изо всех сил пытаюсь добавить этот дополнительный уровень взаимодействия в модели.
Я начал с созданиятаблица Bond
с атрибутами user_id
mission_id
liked
: логическое completed
: логическое
Я добавил отношение has_many :through
примерно так:
User has_many :bonds, dependent: :destroy
User has_many :missions, through: bonds
Mission has_many :bonds
Mission has_many :users, through: :bonds
Bond belongs_to :user
Bond belongs_to :mission
I 'У меня возникли проблемы с объявлением одного пользователя автором миссии, так как теперь у меня есть отношение многие ко многим между этими моделями.
Есть ли способ заявить, чтоу mission
есть только один «автор» из таблицы users
?