ruby-on-rails - 如何修改从 Rails Controller 返回的 JSON

标签 ruby-on-rails json

我在 Rails Controller 中返回 JSON 的标准机制是:

respond_to do |format|
  format.html
  format.json { render json: @cars }
end

有没有办法修改 @cars JSON?特别是我只想在其中添加 4 个额外的字段。

更新:抱歉,我应该多解释一下。 @cars 包含 Car 对象的列表。我想向 JSON 中的每个 Car 对象添加 4 个字段。这对于特定 Controller 来说是唯一,所以我不想创建 as_json 方法,因为这会影响此类的其他 JSON。

最佳答案

您还可以使用以下内容添加自定义或嵌套字段:

class MyModel < ActiveRecord::Base

  def as_json(options)
    super(options).merge({
      "custom" => "myvalue",
      :name => self.name.titleize,
      "result" => self.my_method(self.value1)
    })
  end
end

关于ruby-on-rails - 如何修改从 Rails Controller 返回的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21716337/

相关文章:

java - 我可以让 Gson.fromJson() 使用 String.intern 或对频繁使用的字符串使用 StringPool

ruby-on-rails - 为什么我的线程变量在 Rails 中是断断续续的?

python - plpython 中的导入语句是如何处理的?

ruby-on-rails - 自定义 Rails 环境日志被写入 nginx error.log

ruby-on-rails - Rails 4 - 以一种单一形式在 JSON 对象中保存多个值和/或

java - JSON 教程/常见问题解答/示例/基础知识

java - Java中Hypergraph上实现节点的JSON结构

javascript - Typescript - 如何声明以@开头的属性名称?

ruby-on-rails - rake 分贝 :test:prepare task deleting data in development database

ruby-on-rails - 如何绕过open-uri中的SSL证书验证?