У меня есть модель жанра, и я хочу, чтобы оба видео имели много жанров, а профили имели много жанров.Я также хочу, чтобы в жанрах было много видео, а в жанрах - много профилей.Я разбираюсь в полиморфности и соединяемости таблиц, поэтому мне интересно, будет ли мой код ниже работать так, как я намереваюсь.Кроме того, я был бы признателен за любые советы о том, как получить доступ к вещам в моем контроллере и представлениях.
Это то, что я предполагаю, что таблица соединения должна выглядеть (я не думаю, что мне нужна сложная :has :through
ассоциация, потому что все, что мне нужно в таблице соединений, это ассоциации и ничего больше, поэтому у таблицы не будет модели):
genres_videos_profiles:
-----------------------------------------------------
id | genre_id | genre_element_id | genre_element_type
Вот мой жанр.rb:
has_and_belongs_to_many :genre_element, :polymorphic => true
Вот видео.rb:
has_and_belongs_to_many :genres, :as => :genre_element
Вот профиль.rb:
has_and_belongs_to_many :genres, :as => :genre_element
Будет ли это работать так, как я намереваюсь?Я хотел бы получить отзыв.