有一些问题:我正在设计数据库,并且有#34;餐馆"表;这个表有字段" food_type"。该字段可以存储1或2,3,...值,其描述该餐馆中的食物类型(西班牙语,法语,意大利语等)。如果我理解正确,我应该在这个字段中存储代码数组(0 =>法语,1 =>意大利语,......),我需要有表" food_types"用' id',' name'。但还有另一个问题:我的一些观点应该显示所有的食物类型,我的应用程序使用国际化,因此我应该在yml文件中存储类型的名称,以便在Rails中使用I18n,我不应该使用' name& #39;专栏" food_types"而不是它。请告诉我,我的问题的最佳解决方案是什么?谢谢。
答案 0 :(得分:1)
也许您应该引入has_many :through关联,如下所示:
#app/models/restaurant.rb
has_many :restaurant_food_types
has_many :food_types, :through => :restaurant_food_types
#app/models/restaurant_food_type.rb
Class RestaurantFoodType < ActiveRecord::Base
belongs_to :restaurant
belongs_to :food_type
end
#app/models/food_type.rb
has_many :restaurant_food_types
has_many :restaurants, :through => :restaurant_food_types
restaurant_food_type
联接模型的数据库可能如下所示:
restaurant_food_types
id
restaurant_id
food_type_id