2017-07-02 6 views
1

で、私は私にこのJSONを与える私のupdate.json.jbuilderのRails 5.1:JBuilderのフォーマット単一JSONオブジェクトは、配列

json.data do 
    json.(@user_group, :id, :name, :description) 
    json.users @user_group.users, :id, :name 
    json.roles @user_group.roles, :id, :name 
end 

のコードのこの部分を持っている:

{ 
    "data":{ 
     "id":95, 
     "name":"Management group", 
     "description":"This is management group", 
     "users":[ 
     { 
      "id":10, 
      "name":"Test User" 
     } 
     ], 
     "roles":[ 
     { 
      "id":1, 
      "name":"FULL ACCESS (TEMPORARY)" 
     } 
     ] 
    } 
} 

は、どのように私は、「データをラップします"これのようなものに配列してください。

{ 
    "data": [ 
    { 
     "id":95, 
     "name":"Management group", 
     "description":"This is management group", 
     "users":[ 
     { 
      "id":10, 
      "name":"Test User" 
     } 
     ], 
     "roles":[ 
     { 
      "id":1, 
      "name":"FULL ACCESS (TEMPORARY)" 
     } 
     ] 
    } 
] 
} 

お知らせ[] } {最初と最後の後にこれまでのところ私はjson.array!を実装しようとしているが、それは私ActionView::Template::Error (undefined method mapを投げると運と、私はおそらくない何かを一緒に入れしようとしている意味しているしてきました適合しないas mentioned herechild! method

答えて

1

この単純なことのようです:

json.data do 
    json.child! do 
    json.(@user_group, :id, :name, :description) 
    json.users @user_group.users, :id, :name 
    json.roles @user_group.roles, :id, :name 
    end 
end 
関連する問題