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

Win*_*fly 1 ruby activerecord ruby-on-rails rails-activerecord

我想将 ActiveRecord 查询映射为键值对

我想json_result在表单中获取s

{ "16": "2017-10-16T17:04:51.000Z" }
Run Code Online (Sandbox Code Playgroud)

但是下面的代码以表格的形式获取结果

{ "id": 16, "date": "2017-10-16T17:04:51.000Z" }
Run Code Online (Sandbox Code Playgroud)

r.id: r.started_at 不起作用。

 @results = Visit.all

 json_results = {
    data: @results.map do |r| {
      id:   r.id,
      date: r.started_at

    } end
  }
Run Code Online (Sandbox Code Playgroud)

如何在 Rails 中实现这一点,因为我在这方面遇到了一些麻烦。

pot*_*hin 7

另一种方法是使用pluckwith to_h

json_results = Visit.pluck(:id, :started_at).to_h
Run Code Online (Sandbox Code Playgroud)