ruby ActiveRecord as_json返回不同的列名

5rgfhyps  于 2023-02-15  发布在  Ruby
关注(0)|答案(2)|浏览(85)

我尝试返回ActiveRecord的JSON表示,但是我不想让JSON字符串包含模型中Keys的列名,而是想让它每列显示不同的内容。有办法做到这一点吗?下面是我的示例行

record.as_json(root: false, :only => [:message, :user])

我基本上希望它返回消息和用户列,但我希望在它得到它们时用其他名称来命名它们。

vd8tlhqk

vd8tlhqk1#

我认为你把这个问题搞得太复杂了。你只想要两列,为什么不直接手工做呢?

def some_controller
  #...
  json = {
    new_name_for_message: r.message,
    new_name_for_user:    r.user
  }
  render json: json, status: :ok
end

构建一个两个元素的Hash并将其交给JSON呈现系统。

mzmfm0qo

mzmfm0qo2#

record.as_json(root: false, :only => [:user], :methods => [:message_html])

并将该方法记录在案。

相关问题