Here is the code I'm using:
# Run the query against the database defined in .yml file.
# This is a Mysql::result object - http://www.tmtm.org/en/mysql/ruby/
@results = ActiveRecord::Base.connection.execute(@sql_query)
In my View, here's what I do to see the values:
<pre><%= debug @results %></pre>
Outputs: #<Mysql2::Result:0x007f31849a1fc0>
<% @results.each do |val| %>
<%= val %>
<% end %>
Outputs: ["asdfasdf", 23, "qwefqwef"] ["sdfgdsf", 23, "asdfasdfasdf"]
So imagine I query something like select * from Person
, and that returns a result set such as:
ID Name Age
1 Sergio 22
2 Lazlow 28
3 Zeus 47
How can I iterate through each value and output it?
The documentation here is not useful because I have tried methods that supposedly exist, but the interpreter gives me an error saying that those methods don't exist. Am I using the wrong documentation?
http://www.tmtm.org/en/mysql/ruby/
Thanks!
If you are using mysql2 gem then you should be getting the mysql2 result object and according to the docs you should be able to do the following
results.each do |row|
# conveniently, row is a hash
# the keys are the fields, as you'd expect
# the values are pre-built ruby primitives mapped from their corresponding field types in MySQL
# Here's an otter: http://farm1.static.flickr.com/130/398077070_b8795d0ef3_b.jpg
end
Checkout the documentation here
So in you case you can do the following
<% @results.each do |val| %>
<%= "#{val['id']}, #{val['name']}, #{val['age']}" %>
<% end %>
Edit: you seem to be referring to the wrong doc check the Mysql2 gems doc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With