我有一个返回数组和散列的查询。
如何更改散列并向其添加新的键值对:import_id: 1, cost: 0
,还是可以在查询中使用map
方法?
查询如下所示。
name = Store.joins(:paid => :supply).group(:name).select("supply.name").where("stores.identifier IN (?) ", tids).pluck(:supply_id, :name)
数组如下所示。
[[258, "Square"], [245, "App"]]
当我把它转换成散列时,它返回以下内容。
{258=>"Square", 245=>"App"}
所需输出如下所示。
{{supply_id: 258, name: "Square", import_id: 1, cost: 0}, {supply_id: 245, name: "App", import_id: 1, cost: 0}}
2条答案
按热度按时间mhd8tkvw1#
响应似乎是一个
[supply_id, name]
对的数组,您可以很容易地解构数组,并使用适当的符号键将数据重组为散列。xwmevbvl2#
使用
#select
代替#pluck
,并调用.as_json
或.map(&:attributes)
或
也可以构造附加了
{import_id: 1, cost: 0}
的哈希或
您可以在哈希生成步骤中使用
Hash#merge
来包含{import_id: 1, cost: 0}