你能帮我解决一些问题吗?我有这样的数据库数组
str = Hiring::Tag.all
Hiring::Tag Load (0.1ms) SELECT `hiring_tags`.* FROM `hiring_tags`
=> [#<Hiring::Tag id: 1, name: "tag1", created_at: "2013-12-10 11:44:39", updated_at: "2013-12-10 11:44:39">,
#<Hiring::Tag id: 2, name: "tag2", created_at: nil, updated_at: nil>,
#<Hiring::Tag id: 3, name: "tag3", created_at: nil, updated_at: nil>,
#<Hiring::Tag id: 4, name: "wtf", created_at: "2013-12-11 07:53:04", updated_at: "2013-12-11 07:53:04">,
#<Hiring::Tag id: 5, name: "new_tag", created_at: "2013-12-11 10:35:48", updated_at: "2013-12-11 10:35:48">]我需要像这样分割这个数组:
data:[{id:1,name:'tag1'},{id:2,name:'tag2'},
{id:3,name:'tag3'},{id:4,name:'wtf'},{id:5,name:'new_tag'}] 请救救我!
发布于 2013-12-17 11:03:29
一个可能的解决办法是:
Hiring::Tag.all.map {|h| {id: h.id, name: h.name} }见地图文档。
发布于 2013-12-17 11:08:27
如果您使用ActiveRecord 4.0
Hiring::Tag.pluck(:id, :name).map{ |id, name| {id: id, name: name} }发布于 2013-12-17 11:16:16
你可以试试下面的代码。
Hiring::Tag.all.inject({}) { |h, f| h[f.name.to_sym] = f.value; h }或
Hiring::Tag.all.map { |f| [f.name.to_sym, f.value] }]https://stackoverflow.com/questions/20632358
复制相似问题