I am trying to create an array of hashes. I was able to create one using User.all but I don't want to load all the data at once, so I am trying to use find_each. I am new to ruby can someone point out what I am doing wrong ?
When I use .all
2.0.0 (main):0 > User.all.as_json.map { |u| {
2.0.0 (main):0 * index: {id: u["user"]["id"]}}}
[{:index=>{:id=>443}},
{:index=>{:id=>3642}},
{:index=>{:id=>506}}, ...
When I use find_each
2.0.0 (main):0 > User.find_each { |u|
2.0.0 (main):0 * u = u.to_json;
2.0.0 (main):0 * u = JSON.parse(u);
2.0.0 (main):0 * {index: { id: u["user"]["id"]}}}
User Load (19.2ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1000
User Load (18.2ms) SELECT "users".* FROM "users" WHERE ("users"."id" > 1038) ORDER BY "users"."id" ASC LIMIT 1000
User Load (21.4ms) SELECT "users".* FROM "users" WHERE ("users"."id" > 2105) ORDER BY "users"."id" ASC LIMIT 1000
User Load (14.5ms) SELECT "users".* FROM "users" WHERE ("users"."id" > 3139) ORDER BY "users"."id" ASC LIMIT 1000
=> nil
to_jsonthanJSON.parse??