Há algum tempo, eu queria usar a API de visualização do Google para mostrar algumas análises. O problema que eu estava tendo é que o ActiveRecord retorna os resultados como um hash com as chaves em cada linha (da mesma forma que você esperaria que um hash se parecesse). A API de visualização do Google não permite esse tipo de dados e precisa deles em um formato apenas de valor:
O mal:
{"course"=>"Introduction To Retirement Funds", "points"=>"7750"}
{"course"=>"Hedge funds", "points"=>"0"}
{"course"=>"Personal bankruptcy", "points"=>"0"}
{"course"=>"Mortgages", "points"=>"0"}
{"course"=>"Inflation scenarios", "points"=>"0"}
O bom:
[["Introduction To Retirement Funds", "7750"],
["Hedge funds", "0"],
["Personal bankruptcy", "0"],
["Mortgages", "0"],
["Inflation scenarios", "0"],
["Mutual funds and ETFs", "0"]]
ActiveRecord retornará o primeiro conjunto acima; entretanto, se você simplesmente adicionar .values ao objeto retornado, obterá o que precisa. Igual a:
ActiveRecord::Base.connection.execute("SELECT * FROM courses").values