我有一个属性ID和电子邮件 @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(",") %>
]
这是工作,但我发现它很难...有没有一种更优雅的方式来在视图中生成自定义json格式?
这不适合我需要的自定义输出格式。我澄清了我的问题,还有其他想法吗? – Alpha 2011-01-19 18:42:16
`@ client.to_json(...)`输出标准的json。你可以澄清你的意思*定制*?如果你的意思是改变空格,换行等,那么你的解决方案是正确的。但是,你不应该需要为json制作自定义输出,否则你不会谈论标准化的json。 – Sukima 2012-06-11 18:22:59