Как настроить множественные отношения принадлежащие и has_many в Rails :: ActiveRecord? - PullRequest
0 голосов
/ 11 мая 2019

Я пытаюсь создать приложение для фильмов, в котором фильм может иметь несколько категорий, а в категории может быть несколько фильмов.Я хочу получить доступ к категориям фильма следующим образом:

aMovie.categories

Я ожидаю, что этот запрос вернет ActiveRecord_Associations_CollectionProxy

, и также применяется обратное

aCategory.movies

Ниже приведены мои модели и миграции

class Movie < ApplicationRecord
  validates :name, presence: true
end
class Category < ApplicationRecord
  validates :name, presence: true
end
class CreateMovies < ActiveRecord::Migration[5.2]
  def change
    create_table :movies do |t|
      t.string :name
      t.text :description
      t.integer :year
      t.float :rating

      t.timestamps
    end
  end
end
  def change
    create_table :categories do |t|
      t.string :name

      t.timestamps
    end
  end
end

Как мне настроить свои миграции и модели?

Спасибо взаранее

1 Ответ

1 голос
/ 11 мая 2019

Вы должны создать промежуточную таблицу соединений

Movie_categories
belongs_to :movie
belongs_to :category

Movie
has_many :movie_categories
has_many :categories, through: :movie_categories

Category
has_many :movie_categories
has_many :movies, through: :movie_categories

Вы можете обратиться к has_many через отношения в https://guides.rubyonrails.org/association_basics.html

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