rails用户定义的自定义列

时间:2014-11-07 01:03:04

标签: ruby-on-rails

我正在使用Ruby on Rails 4和MySQL。我有三种类型。一个是生物学,一个是化学,另一个是物理。每种类型都有唯一的字段。所以我在数据库中创建了三个表,每个表都有唯一的列名。但是,可能事先不知道唯一的列名称。用户需要创建与每种类型关联的列名。我不想创建序列化哈希,因为这可能会变得混乱。我注意到其他一些系统使用户能够创建名为column1,column2等的用户定义列

如何在Ruby on Rails和MySQL中实现这些自定义列,并仍然保留所有ActiveRecord功能,例如:验证等?

1 个答案:

答案 0 :(得分:2)

您没有太多选择,您最好的解决方案是使用NO SQL数据库(至少对于那些类)。

让我们看看你如何使用SQL。您可以拥有一个带有has_many:attributes关联的基础课程模型。其中属性只是键和值的组合。

# attributes table
|  id  |    key    |  value  |
|  10  | "column1" | "value" |
|  11  | "column1" | "value" |
|  12  | "column1" | "value" |

很难确定同时覆盖多个属性的数据类型和查询。