Модели с отношениями многие ко многим - PullRequest
1 голос
/ 09 декабря 2011

У меня есть тестовое приложение, которое я пытаюсь настроить на практике, в приложении есть пользователи, которые могут выбрать до 6 категорий интересов при регистрации.

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

Должен ли я использовать полиморфные ассоциации или создать модель интереса и interest_category с пользовательской моделью и моделью interest_category, используя что-то вроде:

has_many :interest_categories, :through => :interests ?

Также какможно получить форму для сохранения этих interest_categories?Я пробовал f.fields_for :interest_categories, но они не экономят.

Есть идеи?

1 Ответ

0 голосов
/ 09 декабря 2011

Я бы использовал has_many :categories, :through => :categorizables. Затем можно добавить строковое поле с именем :category_type в модель для категоризации и ввести «интерес» для этого случая и другую строку для других случаев.

Таким образом, у вас было бы много сквозных отношений, которые не зависят от типа отношений.

Затем вы можете запросить User.categorizables.where(:category_type => "interest") или настроить область.

Вы также можете рассмотреть возможность просмотра этого Railscast: http://railscasts.com/episodes/17-habtm-checkboxes

Это немного устарело, но, скорее всего, полезно при настройке вашей формы. Есть много способов подойти к этому, но я так и сделаю.

...