0

祖先の宝石テーブルから 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"

...

4

1 に答える 1

0

配列の最初の場所は

location = json.array!(@locations).first
于 2013-02-14T18:33:44.560 に答える