如何在rails中将嵌套哈希值呈现为json

时间:2017-08-11 20:34:17

标签: ruby-on-rails ruby

注意

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
}

尝试了几种方法,无法靠近任何地方。 非常感谢任何有用的见解!

0 个答案:

没有答案