将 ActiveRecord 映射为 Rails 上的动态键值对



我想将 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 中实现这一点,因为我在这方面遇到了很多麻烦。

另一种方法是将pluckto_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"}

最新更新