Rails只选择数组中的第一个条目

时间:2013-02-14 16:51:54

标签: ruby-on-rails-3

我正在尝试从祖先的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"

...

1 个答案:

答案 0 :(得分:0)

数组中的第一个位置就是

location = json.array!(@locations).first