Рельсы полиморфные ассоциации многие ко многим

Я пытаюсь настроить общий вид сети связанных объектов. Допустим, у меня есть 4 модели.

КнигаКиноТегкатегория

Я хотел бы иметь возможность сделать:

book = Book.find(1)
book.relations << Tag.find(2)
book.relations << Category.find(3)
book.relations #=> [Tag#2, Category#3]

movie = Movie.find(4)
movie.relations << book
movie.relations << Tag.find(5)
movie.relations #=> [Book#1, Tag#5]

По сути, я хочу иметь возможность взять любые 2 объекта любого модельного класса (или класса модели, который я разрешаю) и объявить, что они связаны.

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

Это то, что Rails может поддерживать через декларации ассоциации, или я должен применить здесь свою собственную логику?

Ответы на вопрос(4)

Ваш ответ на вопрос