【问题标题】:Converting boolean datafield from lowercase 'true' to uppercase 'TRUE' in data table在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”
【发布时间】:2019-07-08 01:23:33
【问题描述】:

我正在尝试将布尔数据类型的“已批准”数据字段显示为 TRUE 而不是 true

我尝试过approved.upcase!approved.toUppercase(),但似乎都提供了 ajax 数据表错误。

def data
  examples.each do |example|
    record = [example.approved, example.updated_at.strftime("%m/%d/%Y at %I:%M%p")]
    result << record
  end    
  result
end

我期待结果TRUE,但我得到了true

【问题讨论】:

    标签: ruby-on-rails datatables


    【解决方案1】:

    如果你真的想强制它成为一个字符串:

    example.approved.to_s.upcase
    

    你不能在true 上调用像upcase 这样的东西,因为它不知道那个方法是什么。你需要先转换成一个字符串,然后你才能做任何字符串能做的事情。

    应用时:

    def data
      examples.map do |example|
        [
          example.approved.to_s.upcase,
          example.updated_at.strftime("%m/%d/%Y at %I:%M%p")
        ]
      end
    end
    

    由于您正在有效地映射一个条目,因此请使用 map 而不是临时数组。这有助于大大简化您的代码。

    话虽如此,尚不清楚为什么要使用 "TRUE" 而不是 true,就好像您使用的是 AJAX 和可能的 JSON,您希望在其中使用本机布尔值,以便它们显示为JavaScript true 而不是任意字符串。

    【讨论】:

    猜你喜欢
    • 2020-03-08
    • 2011-04-27
    • 1970-01-01
    • 2017-01-23
    • 2015-11-28
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多