gpt4 book ai didi

json - rails 3 json 自定义 json 格式

转载 作者:行者123 更新时间:2023-12-01 07:16:15 24 4
gpt4 key购买 nike

我有一组带有属性 id 和 email 的@clients
我想呈现这个json格式

 [ 
{"id":" 1","label":"johndoe@yahoo.com","value":"1"},{"id":" 2","label":"paulsmith@gmail.com.com","value":"2"}
]

在clients_controller中我定义了以下方法
def search
@clients = Client.where(:user_id => current_user.id).select('id','email')
render :partial => "clients/search"
end

这是 View _search.json.erb
[ 
<%= raw @client.map{|client| '{"id":"' +" #{client.id}" +'","label":"' + "#{client.email}" + '","value":"' +"#{client.id}" +'"}' }.join(",") %>
]

这是有效的,但我发现它很糟糕……有没有更优雅的方法来在 View 中生成自定义 json 格式?

最佳答案

使用从 View 调用的辅助函数来格式化输出或从 Controller 调用的库函数。示例(稍后):

def search
@clients = Client.where(:user_id => current_user.id).select('id','email')
respond_to do |format|
format.html
format.json do
render :json => custom_json_for(@clients)
end
end
end

private
def custom_json_for(value)
list = value.map do |client|
{ :id => " #{client.id}",
:label => client.email.to_s,
:value => client.id.to_s
}
end
list.to_json
end

关于json - rails 3 json 自定义 json 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4733321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com