2015-10-12 2 views
3

Я использую JBuilder построить ответ JSON, и теперь он выглядит следующим образом:Rails 4 здания JSON с пользовательскими ключами с использованием JBuilder

json.array!(@work_posts) do |work_post| 
json.extract! work_post, :post_title, :post_body, :salary, :urgently, :contact, :created_at, :updated_at 
json.contact do 
    json.emails work_post.contact.emails 
    json.phones work_post.contact.phones 
    json.links work_post.contact.links 
end 
end 

И ответ выглядит следующим образом:

[ 
    { 
    "post_title": "Some work", 
    "post_body": "work description", 
    "salary": "5$/hour", 
    "urgently": true, 
    "contact": { 
     "emails": "", 
     "phones": "", 
     "links": "" 
       }, 
    "created_at": "2015-10-11T23:46:17.979+05:00", 
    "updated_at": "2015-10-11T23:46:17.979+05:00" 
    } 
] 

Я хочу добавить Cutom Ключи для ответа выглядят так:

"result" : "success", 
"data" : [ 
    { 
    "post_title": "Some work", 
    "post_body": "work description", 
    "salary": "5$/hour", 
    "urgently": true, 
    "contact": { 
     "emails": "", 
     "phones": "", 
     "links": "" 
       }, 
    "created_at": "2015-10-11T23:46:17.979+05:00", 
    "updated_at": "2015-10-11T23:46:17.979+05:00" 
    } 
] 

Что мне делать для этого?

ответ

1

Я не видел такого вопроса нигде, и я, наконец, достиг того, чего хотел. Надеюсь, что это будет полезно для кого-то. Поэтому ответ очень очевиден: вместо использования json.array! я должен использовать то, что мне точно нужно =>json.data, а затем мне просто нужно поставить json.result "success" выше. В результате будет:

"result" : "success", 
"data" : [ 
{ 
    "post_title": "Some work", 
    "post_body": "work description", 
    "salary": "5$/hour", 
    "urgently": true, 
    "contact": { 
     "emails": "", 
     "phones": "", 
     "links": "" 
      }, 
    "created_at": "2015-10-11T23:46:17.979+05:00", 
    "updated_at": "2015-10-11T23:46:17.979+05:00" 
    } 
] 
Смежные вопросы