0
我已经在我的Rails应用程序以下型号:Rails的活动记录查询和JSON
class Transaction
belongs_to :category
has_one :group, :through => :category
class Category
belongs_to :group
has_many :transactions
class Group
has_many :categories
has_many :transactions, :through => :category
在我的控制器如下:
@transactions = Transaction.includes(:category, :group).group("groups.id").sum("amount")
respond_to do |format|
format.json{
render :json => JSON.generate(@transactions.as_json(:include => [:category, :group]))
}
end
这将产生以下JSON(一个) :
{"1":2000,"3":5000,"2":1000}
但是,我的目标是生产类似这个(乙):
[{"group_id":1,"amount":2000},{"group_id":3,"amount":5000},{"group_id":2,"amount":1000}]
上我如何从一个去乙任何帮助将不胜感激。
感谢您的帮助。但是,这给了我以下错误:'NoMethodError:[1,2000]的未定义方法'group_id':Array' – diasks2 2013-02-20 12:15:02
用您希望的表的列名替换'group_id'。 – 2013-02-20 12:19:10
如果我将其更改为:'list = value.map do | k,v | {:group_id => k, :amount => v } end' – diasks2 2013-02-20 12:32:33