使用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