如何将Rails查询作为哈希返回,并将键作为主键id值

时间:2013-09-01 08:25:12

标签: ruby-on-rails ruby-on-rails-3.2

我很好奇是否有本机方式返回带有id值的查询作为返回的哈希键。类似的东西:

Location.find([2,4,7]).as_hash

回来

{
  2:{name:"name 1", id: 2},
  4:{name:"name 4", id: 4},
  7:{name:"name 7", id: 7},

}

我想做一个to_json,这很方便。

THX

1 个答案:

答案 0 :(得分:0)

I'd like to just do a to_json and this would be convenient.

本地,有一个to_json方法可以直接为您提供json格式的查询输出。

Location.find([2,4,7]).to_json

但是,格式与您指定的格式不同。检查它是否适合你。

to_xml, to_yaml方法是其他方法,它们可以分别从activerecord查询中输出xml和yaml数据。

或者,你可以做这样的事情

locations = Location.find([2,4,7])
locations_hash = {}
locations.each do |location|
    locations_hash[location.id] = location 
end
locations_hash.to_json