hdorio
hdorio

Reputation: 13313

How to convert activerecord results into an array of hashes including root

Let's say you want to

records = Model.all
records.to_a.map{|m| m.serializable_hash(:root => true)}

just like to_json(:root => true) does

[
  {
    "model": {
      "attribute_1": "value_1",
      "attribute_2": "value_2",
    }
  }
  ...
]

Upvotes: 6

Views: 4941

Answers (1)

hdorio
hdorio

Reputation: 13313

as_json

records.as_json(:root => true)

serializable_hash

records.to_a.map() {|x| 
  { x.class.model_name.element => x.serializable_hash() } 
}

This will not work with nested objects though

Upvotes: 9

Related Questions