ruby-on-rails - 将 bool 值转换为字符串

标签 ruby-on-rails ruby string

我正在尝试标准化存储在我的数据库中的数据。从某种意义上说,我希望所有内容都存储为字符串。在 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/

相关文章:

java - 如何用双引号 (","之间的逗号替换字符串中的所有逗号 (,)?

ruby-on-rails - RoR - PayPal ActiveMerchant - 退款

css - 使用 bootstrap-sass 时如何自定义 bootstrap css

ruby-on-rails - 如何在不妥协的情况下导入数百万用户 sidekiq

mysql - ActiveRecord自定义has_many关联多次调用数据库

c# - 我可以使用 Format 而不是使用 substring 吗?

ruby-on-rails - Heroku、Rails、Resque、Redis:所有作业都因 Errno::ETIMEDOUT 而失败

ruby-on-rails - Ruby:如何将选项传递给 twitter gem 的 user_timeline 方法?

ruby-on-rails - Sublime Text 2 设置创建中可能的语言/语法是什么?

c# - 在 C# 中允许用户定义的字符串