0

我正在 Rails 3.2 中构建一个物业管理(公寓)应用程序。单位和物业都有便利设施。一个物业可能有“巴士路线”和“投币式洗衣”等设施,而一个单元可能有“空调”和“无障碍设施”等设施。我最初命名了我的物业设施资源表amenities和连接表amenities_properties。然而,现在我开始为单位建立我的便利设施表,我不确定我应该如何命名这些单位。我可以选择amenities_propertiesand amenities_units。但是然后我调用连接表amenities_properties_propertiesamenities_units_units?对我来说似乎很奇怪。

有一个表会更好吗?它amenities有一个类型字段来指示它是属于单位还是属性?

4

1 回答 1

0

我会让便利设施多态,所以它看起来像这样:

舒适度.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_typeandamenitable_id列。

因此,当您创建新的设施时,将 设置amenitable_type'unit'or 'property'(取决于您的模型名称),并将 设置amenitable_id为它所属的单元或属性的 id。

于 2012-06-04T21:49:40.500 回答