我正在尝试标准化存储在我的数据库中的数据。从某种意义上说,我希望所有内容都存储为字符串。在 Rails 中将所有数据类型转换为字符串的最佳方法是什么?
所以如果我的数据库中有这样的东西:
t.funny = no #(boolean)
如果我在一个循环中将数百个这些转换为字符串,最好的方法是什么?
谢谢
最佳答案
猴子补丁被接受了吗? :)
这是一个:
class Object
def to_sb
return 'no' if [FalseClass, NilClass].include?(self.class)
return 'yes' if self.class == TrueClass
self
end
end
v = true
v.to_sb
=> "yes"
v = nil
v.to_sb
=> "no"
v = false
v.to_sb
=> "no"
v = 'blah'
v.to_sb
=> "blah"
现在在您的模型中您可以使用 t.funny.to_sb
意味着字符串 bool 值
请注意,非 bool 值将按原样返回
查看实际效果 here
关于ruby-on-rails - 将 bool 值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13149461/