这是我正在使用的代码:
# 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)
在我的视图中,这是我要查看的值:
<pre><%= debug @results %></pre> Outputs: #<Mysql2::Result:0x007f31849a1fc0> <% @results.each do |val| %> <%= val %> <% end %> Outputs: ["asdfasdf", 23, "qwefqwef"] ["sdfgdsf", 23, "asdfasdfasdf"]
想象一下,我查询类似的东西select * from Person,并且返回一个结果集,例如:
select * from Person
ID Name Age 1 Sergio 22 2 Lazlow 28 3 Zeus 47
如何遍历每个值并输出呢?
这里的文档没有用,因为我尝试了应该存在的方法,但是解释器给我一个错误,指出这些方法不存在。我使用了错误的文档吗?
http://www.tmtm.org/en/mysql/ruby/
谢谢!
如果您使用的是mysql2 gem,那么您应该获取mysql2结果对象,并且根据文档,您应该能够执行以下操作
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
在此处查阅文档
因此,在这种情况下,您可以执行以下操作
<% @results.each do |val| %> <%= "#{val['id']}, #{val['name']}, #{val['age']}" %> <% end %>
编辑 :您似乎是指错误的文档,请检查Mysql2 gems文档。