Ruby on Rails - 重构这个(单表继承?)模型的正确方法

时间:2012-02-19 00:40:08

标签: ruby-on-rails ruby

我有一个可以是众多类型之一的模型。假设模型是车辆。车辆可以是汽车,飞机,火车或自行车。 (抱歉没有更好的例子)。

理想情况下,我稍后会有一个可以创建类型的CRUD表单。是否更好地采用我现有的车辆类并使其成为具有类型字段的单表继承模型?我应该创建一个VehicleType模型并具有1:1映射吗?

最重要的是,哪种方式最容易创建表单?用户将在表单上创建一个车辆,然后将有一个无线电下拉列表,其中应选择车辆类型。一个简单的例子就是很棒!

1 个答案:

答案 0 :(得分:1)

是的,单表继承将是一个很好的解决方案,只要子类型足够相似,你想将它们全部存储在同一个表中。 Alex Reisner有一个good article来帮助您确定它是否对您的情况有帮助。

如果你通读this thread,你会发现一些方法来构建一个带有“type”下拉菜单或单选按钮gruop的创建表单。