我想将 ActiveRecord 查询映射为键值对
我想在表格中获取json_result
{ "16": "2017-10-16T17:04:51.000Z" }
但是下面的代码以以下形式获取结果
{ "id": 16, "date": "2017-10-16T17:04:51.000Z" }
r.id: r.started_at
不起作用。
@results = Visit.all
json_results = {
data: @results.map do |r| {
id: r.id,
date: r.started_at
} end
}
如何在 Rails 中实现这一点,因为我在这方面遇到了很多麻烦。
另一种方法是将pluck
与to_h
一起使用:
json_results = Visit.pluck(:id, :started_at).to_h
试试这个:
json_results = {
data: @results.map do |r|
{ r.id => r.started_at }
end
}
例:
puts ({4 => "foo"}.to_json)
# {"4":"foo"}