Rails4使用json.array重命名Json元素名称

时间:2016-01-05 13:50:05

标签: json ruby-on-rails-4.1

伙计我试图通过使用DB关系一对一来在两个表之间通过Json获取rails4中的数据

这是我的Json代码

json.array!(@users) do |user|
  json.extract! user, :id
  json.extract! user, :name
  json.extract! user, :email
  json.extract! user, :city

   # now trying to get the user nickname from the another table
  json.extract! user.nickname , name

end

代码json.extract! user.nickname , name确实返回用户昵称,但因为名为name的字段将其替换为Json数组而不是用户实名

那么在这种情况下如何重命名密钥名称?停止覆盖元素!!

1 个答案:

答案 0 :(得分:0)

我通过在控制器中添加此行来解决它

format.json { render json: @users.as_json(only: [:id, :name, :email,:city, :created_at, :updated_at], include: [:second_model_name , :third_model_name]) }

并在文件users的{​​{1}}视图文件夹中添加了

index.json.jbuilder