У меня есть, возможно, уникальный случай, когда мне нужна модель, имеющая два разных порядка в зависимости от модели, к которой она присоединена. Пример следующим образом:
class Book
acts_as_list :column => :genre, :scope => :genre
acts_as_list :column => :author, :scope => :author
belongs_to :genre
belongs_to :author
end
Итак, в основном я пытаюсь создать модель Book, являющуюся частью двух списков: один для страницы жанра, на которой он появляется, и один для страницы автора, на которой он появляется.
acts_as_list
не поддерживает использование двухпозиционных столбцов, поскольку такие методы, как move_to_top
, не позволяют указать, какой список следует переместить в начало.
Кто-нибудь получил какие-либо предложения о том, как мне этого добиться? Сейчас я думаю, что мне нужно будет создать таблицу соединений, такую как books_genres
, в которой есть столбец position
, но я действительно не слишком заинтересован в этом, так как это требует целой загрузки дополнительных таблиц.