在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”

Posted

技术标签:

【中文标题】在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”【英文标题】:Converting boolean datafield from lowercase 'true' to uppercase 'TRUE' in data table 【发布时间】: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

【问题讨论】:

【参考方案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 而不是任意字符串。

【讨论】:

你能帮我解决这个问题吗:***.com/questions/54127446/…

以上是关于在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中将字符串转换为布尔值?

如何在 Postgres 中将布尔数组转换为单个布尔值或单个字符串

如何在 Go 中将布尔值转换为字符串?

将学说实体布尔字段设置为 0 而不是 null

在具有混合数据类型的数据框中将所有出现的真/假转换为 1/0 [重复]

在java中将布尔对象转换为字符串的最佳方法