Ruby on rails 3 Rails jbuilder在数组中提供未定义的条目

Ruby on rails 3 Rails jbuilder在数组中提供未定义的条目,ruby-on-rails-3,jbuilder,Ruby On Rails 3,Jbuilder,我正在使用jbuilder构建一个数组 这是tree.json.jbuilder代码: json.array!(@locations) do |location| if location.is_root? json.label location.name json.id location.id ... end end 生成的json在开头包含一些“未定义”的条目: [ { }, { }, { }, { }, { label

我正在使用jbuilder构建一个数组

这是tree.json.jbuilder代码:

json.array!(@locations) do |location|
  if location.is_root?
    json.label location.name
    json.id location.id
    ...
  end
end
生成的json在开头包含一些“未定义”的条目:

[
   { },
   { },
   { },
   { },
   {
     label: "First Label",
     id: 1,
 ...
有没有办法停止未定义(空白)的条目


谢谢

您可以过滤
#数组中的数组元素块。若要禁用以停止空白条目,必须先创建选定数组。然后构建json内容

json.array@位置。选择{|位置|位置.is_root?}do |位置|
json.label location.name
json.id location.id
...
结束
然而,上述解决方案的顺序是O(2n),即使之前(你的)解决方案是O(n)。 若你们坚持服务器端的计算速度,那个么就使用上一个,并在客户端正确处理json数据