2010-07-05 66 views
2

我是一个新手,我需要执行一些sql查询并将其输出到视图。在我的控制,我用像“@prob = ActiveRecord::Base.connection.execute("..."),然后只需在视图中显示的@prob,但在视图输出保持未来的两倍0结果列名的结果。ActiveRecord :: Base.connection.execute重复sql输出

SQL查询是

@cprob = ActiveRecord::Base.connection.execute("SELECT DISTINCT cause FROM pages LIMIT 2") 

和我的应用环境是

Ruby version 1.8.7 (i386-mingw32) 
RubyGems version 1.3.6 
Rack version 1.0 
Rails version 2.3.5 
Active Record version 2.3.5 
Active Resource version 2.3.5 
Action Mailer version 2.3.5 
Active Support version 2.3.5 
Application root C:/Users/Prateek/BitNami RubyStack projects/noc 
Environment development 
Database adapter sqlite3 
Database schema version 20100616055513 

更新: - 我发现对于ActiveRecord的:: Base.connection.execute的oputput实际上是含有像散列数组{:0 => QueryResult中:COLUMNNAME => QueryResult中}

让我怎么得到的只是从这个

+0

当你在SQlserver上直接运行它时,“SELECT DISTINCT cause FROM pages LIMIT 2”的输出是什么? – 2010-07-05 08:55:33

回答

4

在我的控制器执行

`@users = ActiveRecord::Base.connection.execute("SELECT * FROM users")` 

的QueryResult中,并在视图获取用户名作为

<% @users.each do |user| %> <td><%=h user[1] %></td> <% end %>

希望它会帮助你解决你的问题

+0

不,我只是在该模型的控制器中使用ActiveRecord :: Base.connection.execute(sql查询)。 – Prateek 2010-07-05 15:58:03