【发布时间】:2023-03-11 07:24:01
【问题描述】:
使用 JBuilder 时,如何从输出中完全删除空数组元素的证据?对于这个代码示例,假设我们有三个用户,第三个用户有一个nil 地址:
json.array! @users.each do |user|
unless user.address.nil?
json.name user.name
json.address user.address
end
end
生成的 JSON 是:
[
{
"name":"Rob",
"address":"123 Anywhere St."
},
{
"name":"Jack",
"address":"123 Anywhere St."
},
{}
]
看到最后一个,在最后空{}。因此,任何时候传递给array! 的块返回nil 我都会在数组中得到一个空元素,而不是缺少元素。有没有简单的方法告诉 JBuilder 不要输出那些?还是我只需要将 array! 的输出视为普通的 ol' 数组,然后将 compact 或 reject 元素视为我不想要的?
【问题讨论】:
标签: ruby-on-rails ruby jbuilder