2012-03-23 2 views
1

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

Например, «Ищем стиральную машину и сушилку», после чего они могут установить флажки для «Бытовая техника», а также некоторые другие, которые, по их мнению, относятся к их объявлению.

Проблема в том, что я еще не настроил свою модель. Каков наилучший способ иметь в моей модели категории, которые пользователь выбирает?

ответ

1

This video is exactly what you're looking for.

имеют отношения HABTM.

Итак, у вас есть таблица под названием «Объявления» и таблица под названием «Категории». Создайте таблицу под названием AdCategories, где каждая запись имеет только два поля: ad_id и category_id. Поэтому каждая запись связывает объявление с категорией.

Более подробную информацию о HABTM можно найти here.

+0

Он сделал пересмотренное видео для этого, и в этом я считаю, что он использует HAS_MANY отношения. Будет ли это лучшим выбором, чем HABTM? – user1076802

+0

@ пользователь1076802 Нет. Подумайте об этом логически, а не программно: у объявлений потенциально много категорий, а в категориях потенциально много объявлений. Если вы просто скажете, что «объявления имеют много категорий», то каждая категория должна иметь поле, которое указывает объявление, к которому оно принадлежит. Но очевидно, что в каждой категории есть много объявлений, которые подпадают под его описание. Кроме того, вы сможете делать такие вещи, как отображение всех объявлений, относящихся к определенной категории, путем отношения HABTM. – varatis

+0

Звучит здорово, спасибо за помощь! – user1076802

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