Как создать этот пользовательский макет JSON с помощью jbuilder - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь создать этот макет JSON с помощью jbuilder:

   "entities" : {
       "users": {
         1: {name: 'abs', age: 44},
         2: {name: 'arms', age: 12},
         3: {name: 'legs', age: 34},
        }
    }

Пока у меня есть это:

json.entities do
  json.users @response.users do |user|
    json.(user, :id)
  end
end

Но это возвращается:

entities: {
 users: [
  {
    id: 1
   }
  ]
}

Мне нужно сделать ключ в "users" значением user.id, а затем перечислить атрибуты.

1 Ответ

0 голосов
/ 20 октября 2018

Это даст вам хэш, который вам нужен.Вам нужно будет вызвать .to_json, если вам нужна строка.

hash = {users:{}}
@response.users.pluck(:id, :name, :age).each {|u| hash[:users][u[0]] = {name: u[1], age: u[2]}]}
# hash.to_json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...