我有一个场地,venuetypes表,只是添加了一个venuetype_icons表。
目前,一个场地属于一个venuetype,一个venuetype有许多场地。每个场地都会显示一个描绘其venuetype的图标。
场地可以是免费的或高级的,我希望每个venuetype有2个图标,一个用于免费场地,一个用于高级场地。
我已经设置了venuetypes以拥有许多venuetype_icons。 venuetype_icon记录有一个名称字段和回形针文件字段。
我想这样设置我的观点:
<% if venue.plan == 'premium' %>
display the premium venuetype_icon
<% else %>
display the regular free icon
<% end %>
但是,如果存储在同一个表中,我如何区分免费和高级图标?是否可以在创建新图标时添加下拉列表以将其标记为免费或高级?如果是这样,那在视图中会如何运作?
我希望这是有道理的,如果需要,请要求任何澄清。
感谢任何帮助,非常感谢!
答案 0 :(得分:0)
如果您知道每个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