【问题标题】:Add a single attribute to a model's Json向模型的 Json 添加单个属性
【发布时间】:2013-05-23 21:32:13
【问题描述】:

我的一个控制器中有以下代码;

render :json => Article.order("ID Desc").limit(3)

输出一系列文章,例如:

[{"id":1, "content":"Blah"},{"id":2, "content":"Blah"}, {"id":3, "content":"Blah"}]

我要做的就是为每个模型添加一个count 属性。所以它会是这样的:

[{"id":1, "content":"Blah", "count":3},{"id":2, "content":"Blah", "count":1}, {"id":3, "content":"Blah", "count":6}]

在我的控制器中是否可以在不覆盖as_json 方法的情况下解决这个问题?

我看到另一个问题中调用了merge 方法,所以我尝试了这个:

render :json => Article.order("ID Desc").limit(3).merge(:count => 2)

没有运气。

【问题讨论】:

    标签: ruby-on-rails json ruby-on-rails-3


    【解决方案1】:

    你最好自己处理这个json,而不是to_json方法(数组或active_record)

    articles = Article.order("ID Desc").limit(3)
    render :json => articles.map { |article|  
      {
        :id => article.id,
        :content => article.content, 
        :count => 3 # or 2 or 1
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 2015-12-01
      相关资源
      最近更新 更多