我正在处理一个包含两列的数据库表 - 一列用于我想要存储转换为string
s 的所有值。至于另一个,我想存储他们原始的数据类型。
我了解我可以将其类型存储在字符串中(例如“string
”,“fixnum
”等。但是,当我需要稍后检索和处理该数据时,我必须switch
类型(我想避免这种情况,并且能够立即将值转换回原始类型。)是有没有办法将我们从.class
调用得到的内容存储到数据库列?如果是这样,该列应该是什么类型的?
感谢。
答案 0 :(得分:0)
您可以使用constantize方法。它需要一个字符串并尝试将其转换为常量名称:
"String".constantize #becomes String
现在,字符串必须正确大写才能正常工作。如果出现问题,则会抛出错误。使用safe_constantize使其在失败时返回nil
。