Как я могу различить записи в отношении has_many? - PullRequest
0 голосов
/ 24 сентября 2011

У меня есть таблица мест, venuetypes и я только что добавил таблицу venuetype_icons.

В настоящее время место принадлежит типу venuetype, а тип venuetype имеет много мест.Каждое место встречи отображается со значком, изображающим его тип.

Места могут быть бесплатными или премиальными, и я хотел бы, чтобы у каждого объекта было по 2 иконки: одна для бесплатного и одна для премиум.

Я настроил типы venuetype для множества venuetype_icons.У записей venuetype_icon есть поле имени и поля файла скрепки.

Я бы хотел настроить свой вид следующим образом:

<% if venue.plan == 'premium' %>
  display the premium venuetype_icon
<% else %>
  display the regular free icon
<% end %>

Но как я могу различить бесплатную и премиальнуюиконки, если там хранятся в одной таблице?Можно ли добавить выпадающий список при создании новых значков, чтобы пометить их как бесплатные или премиум?и если да, то как это будет работать в представлении?

Надеюсь, в этом есть смысл, пожалуйста, попросите разъяснений, если это необходимо.

Спасибо за любую помощь, она очень ценится!

1 Ответ

0 голосов
/ 24 сентября 2011

Если вы знаете, что для каждого VenueType будет только один значок на план, а количество планов будет довольно ограниченным и жестко закодированным, я бы изменил отношение VenueType к VenueTypeIcons:

class VenueType
  belongs_to :free_icon, :class_name => "VenueTypeIcon", :foreign_key => "venue_type_icon_free_id"
  belongs_to :premium_icon, :class_name => "VenueTypeIcon", :foreign_key => "venue_type_icon_premium_id"
end
...