Имеет много через ассоциацию - Rails - PullRequest
0 голосов
/ 05 декабря 2018

Какой должна быть связь для следующих критериев.

  • Книга может иметь много оценок
  • Пользователь может добавить много оценок

  • Пользователь может добавить только одну оценку для одной книги

Таблицы

книги - идентификатор, название, описание

оценки - идентификатор,book_id, user_id, value

Когда книга выбирается вошедшим в систему пользователем, мне нужно получить подробные данные о книге и рейтинг, указанный вошедшим в систему пользователем.Что-то вроде

b = Book.includes(:ratings)

Должен ли я использовать много через ассоциацию здесь?

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 05 декабря 2018

Я понял это.

user.rb

has_many :books
has_many :ratings, through: :books

book.rb

  has_many :ratings
  has_many :users, through: :rating

rating.rb

  belongs_to :book
  belongs_to :user
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...