Rails:将数据类型存储在列中?

时间:2015-09-21 23:21:53

标签: ruby-on-rails postgresql ruby-on-rails-4

我正在处理一个包含两列的数据库表 - 一列用于我想要存储转换为string s 的所有值。至于另一个,我想存储他们原始的数据类型。

我了解我可以将其类型存储在字符串中(例如“string”,“fixnum”等。但是,当我需要稍后检索和处理该数据时,我必须switch类型(我想避免这种情况,并且能够立即将值转换回原始类型。)是有没有办法将我们从.class调用得到的内容存储到数据库列?如果是这样,该列应该是什么类型的?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用constantize方法。它需要一个字符串并尝试将其转换为常量名称:

"String".constantize   #becomes String

现在,字符串必须正确大写才能正常工作。如果出现问题,则会抛出错误。使用safe_constantize使其在失败时返回nil