2013-10-16 6 views
0

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

Помимо использования атрибута массива и поиска по каждому массиву каждой модели (таким образом, устраняя масштабируемость), как можно классифицировать модели? Я также не могу найти правильную форму ассоциации, поскольку это загромождает базу данных со многими экземплярами «той же» категории.

+0

Вы ищете [от многих до многих] (http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association) отношений? –

ответ

1

Если вы используете новую версию postgresql и rails 4, вы можете легко создавать легкие теги, используя типы столбцов массива postgres. Столбцы массива могут быть проиндексированы, и есть набор достойных операций над таблицами, содержащими массивы. Массивы являются перформантными, и довольно забавно создавать эту функциональность с нуля, особенно если ваши требования довольно просто.

Там есть пара «ifs», которая может означать, что это не подход для вас. Если вам интересно, этот блог описывает процесс довольно четко: http://rny.io/rails/postgresql/2013/07/28/tagging-in-rails-4-using-postgresql-arrays.html.

Удачи вам!

+0

Я изменил свой ответ только потому, что этот ответ лучше подходит моему проекту. Похоже, он предлагает очень простые «готовые» функции. Я просто не могу поверить, что мне потребовалось много времени, чтобы найти его. Спасибо. – justmcoyy

1

Будет что-то вроде acts_as_taggable_on работы? Или вам нужно что-то более сложное? Не могли бы вы привести пример того, как бы выглядел код?

+0

Это будет отлично работать, спасибо вам большое! – justmcoyy

Смежные вопросы