当我渲染json时,我有一个看起来像这样的集合:
0:
0:
key: "A"
random: 1
1:
key: "B"
random: 3
2:
key: "Z"
random: 25
3:
etc.
密钥的值始终不同,不重复。
我想要的是将这两个属性的值作为键:value并删除root id,因此我想获得具有所有键:值对的数组而不是单独的对象。
它应该是这样的:
0:
"A" : 1
"B" : 3
"Z" : 25
我如何在轨道上的红宝石中实现这一目标?
编辑: 控制器代码:
def index
@data = RandomKey.select(:key, :random)
render json: @data
end
答案 0 :(得分:0)
您可以使用to_h
@data = RandomKey.pluck(:key, :random).to_h
render json: @data
答案 1 :(得分:0)
试试这个:
def index
@data = RandomKey.select(:key, :random).map { |r| [r.key, r.random] }.to_h
render json: @data
end