Rails:在列中存储数据类型



我在一个由两列组成的数据库表上工作-一列用于我想存储的所有值转换为string s。至于另一个,我想存储它们的原始数据类型。

我知道我可以将它们的类型存储在字符串中(例如:"string"、"fixnum"等)。但是,当我稍后需要检索和处理该数据时,我将不得不对类型进行switch处理(我希望避免这种情况,并能够立即将值转换回其原始类型)。是否有任何方法来存储我们从.class调用到数据库列的内容?如果是,列应该是什么类型的?

谢谢。

可以使用constantise方法。它接受一个字符串并尝试将其转换为常量名称:

"String".constantize   #becomes String

现在,字符串必须正确地大写才能正常工作。如果有错误,它会抛出一个错误。使用safe_constantify使它在失败时返回nil

最新更新