Я только начал изучать RoR и решил создать сторонний проект, чтобы узнать больше. Я застрял на этой проблеме около недели: (
По сути, я пытаюсь установить отношения между двумя таблицами, пользователями и рецептами.
2 отношения должны сформироваться для целей моего приложения.
- рецепт создается пользователем, так что это связь один-ко-многим.
- пользователь может иметь любимые рецепты, а рецепт может быть одобрен несколькими пользователями. Итак, это ассоциация «многие ко многим».
Это то, что я сделал до сих пор.
модель пользователя
has_many :recipes
has_many :user_recipes
has_many :recipe, through: :user_recipes
рецепт Модель
belongs_to :user, dependent: :destroy
has_many :user_recipes
has_many :users, through: :user_recipes
user_recipes модель
belongs_to :user
belongs_to :recipe
файл миграции user_recipe
t.belongs_to :recipe, index: true
t.belongs_to :user, index: true
файл миграции рецепта
t.belongs_to :user
Файл пользовательской миграции не имеет отношения к рецептам.
Из того, что я сделал. Я мог:
1. назначить пользователя рецепту (создателю) и проверить с помощью recipe.user
2. назначьте любимые отношения, используя recipe.users << user
Проблема
когда я набираю user.recipes
, он говорит мне, какие рецепты создал пользователь, а какие нет, какие рецепты ему нравятся. Я думаю, что должен быть лучший способ настроить моих сотрудников так, чтобы они могли правильно использовать все функции.
Буду признателен за всю помощь. Заранее спасибо!