首页 > 解决方案 > 在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”

问题描述

我试图将我的“已批准”数据字段显示为布尔数据类型,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-railsdatatables

解决方案


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

example.approved.to_s.upcase

你不能调用像upcaseon这样的东西,true因为它不知道那个方法是什么。您需要先转换为字符串,然后才能执行字符串可以执行的任何操作。

应用时:

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而不是临时数组。这有助于大大简化您的代码。

话虽如此,尚不清楚您为什么要使用 AJAX(可能是 JSON)"TRUE"而不是true使用本地布尔值,以便它们显示为 JavaScripttrue而不是任意字符串。


推荐阅读