我正在尝试从祖先的gem表中填充jquery jstree。我正在使用jbuilder为jstree创建json输入。
jstree要求json数据以[
开头所以,我正在使用
json.array!(@locations) do |location|
但是,我正在遍历孩子,所以我只需要数组中的第一个位置。我尝试了以下方法,但它似乎不起作用:
json.array!(@locations).first(1) do |location|
json.label location.name
json.children location.children do |child|
json.label child.name
更新
这也不起作用:
json.array!(@locations.first) do |location|
UDPATE2
除了它以{开头,它必须以[
开头]之外这就是我尝试阵列的原因。我该如何解决?
(我知道我还需要处理循环逻辑)
json.id @location.id
json.label @location.name
json.children @location.children do |child|
json.id child.id
json.label child.name
json.children child.children do |child2|
json.id child2.id
json.label child2.name
json.children child2.children do |child3|
json.id child3.id
json.label child3.name
end
end
end
结果是:
{
id: 1,
label: "First in Tree"
- children: [
- {
id: 2,
label: "Child of 1"
...
答案 0 :(得分:0)
数组中的第一个位置就是
location = json.array!(@locations).first