【发布时间】:2021-10-21 06:08:22
【问题描述】:
我正在研究通过 rails 中的 chartkick 和 chart.js 创建的动态图表。
.
数据为空不是问题。问题是我想将 null/empty 显示为 n/a。
我的图表如下所示:
为了解决这个问题,我首先通过下面提到的代码更新数据库:
Roster.where(caste_group: "").update_all(caste_group:"n/a")
但这完全不是我想要的。每次更新数据库效率不高。 然后我使用了转换键助手。代码如下
caste_group = Roster.group(:caste_group).count
@caste_group = caste_group.transform_keys{ |key| key==""?
"n/a":key }
这里Roster 是由以下属性caste_group 作为字符串和用户选择caste_group 作为下拉列表组成的模型。
使用这个转换键助手,我得到了不显示空值的结果。 null/empty 值不会重命名为 n/a。
我在视图中的代码如下
= line_chart @event_chart,discrete:true, legend: "bottom",curve: false,
colors: ["#67b55e","#d43766","#729be0"]
【问题讨论】:
-
null 值到底是什么?您正在测试
key是否为空字符串。 -
@user1934428 是的,密钥是一个空字符串。我想将空字符串更改为 n/a
-
代码是合理的,虽然我会(为了安全起见)将它替换为
key.empty,这样如果由于一些编程错误,密钥恰好是nil,你就会得到一个异常。
标签: ruby-on-rails ruby chart.js chartkick