我正在使用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,
...
有没有办法停止未定义(空白)条目?
谢谢!
答案 0 :(得分:0)
您可以在#array!
块中过滤数组元素。要禁用以停止空白条目,您必须先选择所选数组。然后构建json内容。
json.array! @locations.select{ |location| location.is_root? } do |location|
json.label location.name
json.id location.id
...
end
然而,上述解决方案的顺序是O(2n),即使先前(您的)解决方案是O(n)。 如果您坚持服务器端的计算速度,请使用前一个并正确处理客户端的json数据。