У меня есть коллекция @clients с атрибутами Ид и электронной почты Я хочу сделать этот JSon Отформатируйтерельсы 3 пользовательских JSON JSON форматирования
[
{"id":" 1","label":"[email protected]","value":"1"},{"id":" 2","label":"[email protected]","value":"2"}
]
в clients_controller я определил следующий метод
def search
@clients = Client.where(:user_id => current_user.id).select('id','email')
render :partial => "clients/search"
end
и вот точка зрения _search.json.erb
[
<%= raw @client.map{|client| '{"id":"' +" #{client.id}" +'","label":"' + "#{client.email}" + '","value":"' +"#{client.id}" +'"}' }.join(",") %>
]
это работает, но я нашел его fugly ... есть ли более элегантный способ создания пользовательского формата json в представлении?
Это не для пользовательского формата вывода, который мне нужен. Я уточнил свой вопрос, какие-то другие идеи? – Alpha
'@ client.to_json (...)' выводит стандартный json. Вы можете уточнить, что вы подразумеваете под * custom *? Если вы имеете в виду изменение пробелов, новых строк и т. Д., То ваше решение будет правильным. Однако вам не нужно создавать пользовательский вывод для json, иначе вы не будете говорить о стандартизованном json. – Sukima