问题.find和返回值

时间:2011-07-14 18:09:10

标签: ruby-on-rails ruby ruby-on-rails-3

我对rails很新(只有大约一个月的经验),所以这可能是微不足道的。在我的应用程序中,如果我打电话

<%= Group.find(:all).each do |g| %>
   <p><%= g.name %></p>
<%= end %>

它正确打印出所有组的名称。然而,之后,它返回所有这些(使用十六进制代码和东西)。我认为那是因为.find会返回你迭代的所有东西。无论如何 - 关于我的问题:是.find错误的方法,或者如何迭代每个组,而不是之后返回它们?

我很感激你们所拥有的任何帮助或见解。

谢谢!

1 个答案:

答案 0 :(得分:2)

我猜你正在做像

这样的事情
<%= Group.find(:all).each do |g| %>
   <p><%= g.name %></p>
<%= end %>

这将打印整个语句的返回值。相反,这样做

<% Group.find(:all).each do |g| %>
   <p><%= g.name %></p>
<% end %>

这不会打印返回的值。

旁注:Group.find(:all)Group.all

相同