我正在 Rails 3.2 中构建一个物业管理(公寓(应用程序。单位和物业都有便利设施。一个单位可能有"巴士路线"和"投币式洗衣房"等设施,一个单位可能有"空调"和"无障碍"等设施。我最初将我的物业设施资源表命名为 amenities
,将连接表命名为 amenities_properties
。但是,现在我开始为单位构建我的便利设施表,我不确定我应该如何命名这些。我可以和amenities_properties
一起去,amenities_units
.但是,我是否将连接表称为amenities_properties_properties
和amenities_units_units
?对我来说似乎很奇怪。
有一个具有类型字段的 amenities
表来指示它是否属于单位或属性会更好?
我会使便利设施多态,所以它看起来像这样:
便利设施.rb
#There's not a grammatically good way to turn "amenity" into a polymorphic name so...
belongs_to :amenitable, :polymorphic => true
property.rb 和 unit.rb
has_many :amenities, :as => :amenitable
将设施点设置为多态性,将amenitable_type
和amenitable_id
列添加到设施表。
因此,当您创建新的便利设施时,请将amenitable_type
设置为'unit'
或'property'
(取决于您的型号名称(,并将amenitable_id
设置为其所属单位或属性的 ID。