在Ruby on Rails中创建用户生成的模型和SQL表4

时间:2014-11-30 05:07:32

标签: ruby-on-rails-4 models semantic-web rails-models user-generated-content

考虑库存管理系统的情景。 Inventory有许多类型的项目,每个项目都有自己的表和列。一个,两个或十二个表不足以描述过多的物品类型,因为它们变化很大。例如BIKES等一系列项目的某些属性与CARS的属性不同。开发人员考虑成千上万的物品类型并将它们手动合并到每个模型中是很乏味的。

用户有自己生成模型的方法吗?从而生成自己的SQL表等...是否有另一种方法来解决这个问题? (也许使用语义Web技术)

来自Spring Framework,我对RoR开发还很陌生。

先谢谢。

1 个答案:

答案 0 :(得分:0)

我不是专家,但您可以使用常规的预定义模型。

  • Item_Type
  • Item_Attribute
  • Item

Item_Type将具有名称变量(不唯一),也可能是您想要的任何其他常见属性。然后它会有has_many Item_Attributes关系,而Item_Attribute belongs_to Item_Type

因此,我创建了一个视图,允许用户添加新的Item_Type,然后为这些项类型定义Item_Attribute

然后您可以拥有实际的Item模型,其中每个实例都是清单中Item_Type的存在。 Item属于Item_TypeItem_Type has_many ItemsItem不能为Item_Type

因此,用户创建一个名为“BIKE”的新Item_Type,然后向其中添加几个Item_Attribute,例如“Mountain”和“Red”。然后,用户可以创建与“BIKE”Item有关系的新Item_Type

如果他们想要添加蓝色山地车而不是红色山地车,他们需要再次完成此过程,添加另一个Item_Type“BIKE”,除了添加“蓝色”作为新的属性Item_Type的{​​{1}}的实例。