使用JBuilder时,如何从输出中完全删除空数组元素的证据?对于此代码示例,假设我们有三个用户和第三用户具有nil
地址:如何使用JBuilder从阵列中完全删除空元素
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
元素作为我不想要的元素?
是的,我完全可以这样做,这就是我现在正在处理的问题。无论如何,我当然不应该有这个逻辑。 ;)但是,我只是想知道,如果/当这种情况确实发生,如果有'阵列!'来处理这种情况对我来说... – 2014-08-27 17:30:11