0

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

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)

没有运气。

4

1 回答 1

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
  }
}
于 2013-05-23T21:36:48.257 回答