Я создаю приложение, в котором пользователь может создавать публикации фильмов, а также избранные публикации фильмов других пользователей.Меня смущает вопрос о том, как следует устанавливать отношения «многие ко многим» в бэкэнде rails.
У пользователя есть много фильмов, а также может быть много избранных (которые являются публикациями фильмов, но они просто нажимаюткнопка, чтобы добавить их в свой раздел избранного), и многие пользователи могут добавить в избранное один и тот же фильм.
То, как у меня сейчас настроены отношения и модели .....
class CreateFavorites < ActiveRecord::Migration[5.2]
def change
create_table :favorites do |t|
t.integer :user_id
t.integer :movie_id
end
end
end
class Favorite < ApplicationRecord
belongs_to :user
end
class Movie < ApplicationRecord
belongs_to :user
has_many :comments
belongs_to :favorite
end
class CreateMovies < ActiveRecord::Migration[5.2]
def change
create_table :movies do |t|
t.string :name
t.string :genre
t.string :rating
t.string :image
t.string :watch_link
t.integer :user_id
end
end
end
class User < ApplicationRecord
has_secure_password
has_many :movies
has_many :comments
has_many :favorites
end
class CreateUsers < ActiveRecord::Migration[5.2]
def change
create_table :users do |t|
t.string :name
t.string :email
t.string :username
t.string :password_digest
end
end
end