注意
user = User.find(params[:id])
user
是一个activerecord实例,因此在user.as_json
上调用任何哈希方法(例如:#except
/ delete
)之前调用user
而不是使用dig
,我做了 -
render json: user.as_json.except('prof_pic_path').merge('prof_pic_path' => user.prof_pic_path.url)
更新
通过以下建议我发现错误 - ArgumentError (wrong number of arguments (1 for 0)):
def show
user = User.find(params[:id])
user[:url] = user.delete('prof_pic_path')[:url]
render json: user
end
OLD ASK
实际上,我正在尝试提取嵌套哈希值并使用少量重新格式化[可选]呈现为json。我的哈希看起来像这样:
{
"user_id": "emusk",
"f_name": "Elon",
"l_name": "Musk",
"picture": {
"url": "https://yo-de"
},
"distance": 0.53
}
我正努力实现这个目标:
{
"user_id": "emusk",
"f_name": "Elon",
"l_name": "Musk",
"picture_url": "https://yo-de",
"distance": 0.53
}
尝试了几种方法,无法靠近任何地方。 非常感谢任何有用的见解!