JBuilder kullanırken, boş bir dizi elemanının çıktısını çıktısından nasıl tamamen kaldırabilirim? Bu kod örneği için, üç kullanıcıya sahip olduğunu varsayalım ve üçüncü kullanıcı nil
adresi vardır:JBuilder ile bir dizideki boş bir öğe tamamen nasıl kaldırılır
json.array! @users.each do |user|
unless user.address.nil?
json.name user.name
json.address user.address
end
end
çıkan JSON geçerli:
[
{
"name":"Rob",
"address":"123 Anywhere St."
},
{
"name":"Jack",
"address":"123 Anywhere St."
},
{}
]
orada sonunda o son boş {}
bakınız. Bu nedenle, blok array!
'a iletilen zaman nil
döndürdüğünde, eleman eksikliğinden ziyade dizide boş bir öğe ile sonuçlanır. JBuilder'a bunları vermemesi için kolay bir yolu var mı? Ya da sadece array!
çıktısını düz ol 'dizisi ve sonra istemediğim compact
veya reject
öğeleri olarak ele almam gerekiyor mu?
Evet, bunu yapabilirim, şu anda sorunu nasıl ele alıyorum. Ve elbette bu mantığı da yine de görmemeliydim. ;) Ama sadece merak ettim ki, bu durum benim için ele almak için bir dizi için bir dizi olsaydı eğer bu durum ortaya çıktığında ... –