Por que essa exibição de trilhos está cuspindo uma matriz bruta no final de um loop .each do?
Estou perplexo com essa saída estranha na minha visão do Rails. Aqui está o meu modelo:
class Comment < ActiveRecord::Base
belongs_to :post
end
Aqui está a parte relevante da minha opinião. Eu isolei o problema desse bloco de código, especificamente o que acontece após a última iteração e antes do final do loop<% end %>
. Se eu comentar o texto real impresso em cada iteração, a matriz bruta ainda será impressa.
<h2>Comments</h2>
<%= @post.comments.each do |comment| %>
<p>
<strong>Commenter:</strong>
<%= comment.commenter %>
</p>
<p>
<%= comment.body %>
</p>
<% end %>
Aqui está a saída estranha (com comentários de amostra.):
Comentador: Michael
Bom post.
Comentador: Michael
Bom post.
Comentador: Michael
Teste.
Comentador: John
A matriz ainda está imprimindo engraçado?
[#<Comment id: 1, commenter:
"Michael", body: "Good post.",
post_id: 1, created_at: "2011-01-12
03:51:20", updated_at: "2011-01-12
03:51:20">, #<Comment id: 2,
commenter: "Michael", body: "Good
post.", post_id: 1, created_at:
"2011-01-12 03:52:06", updated_at:
"2011-01-12 03:52:06">, #<Comment id:
3, commenter: "Michael", body:
"Test.", post_id: 1, created_at:
"2011-01-12 03:52:24", updated_at:
"2011-01-12 03:52:24">, #<Comment id:
4, commenter: "John", body: "Is the
array still printing funny?", post_id:
1, created_at: "2011-01-12 03:57:20",
updated_at: "2011-01-12 03:57:20">]
Finalmente, aqui está como o log de desenvolvimento está lendo. Todos eles se parecem com isso.
Started GET "/posts/1" for 127.0.0.1 at 2011-01-11 22:01:52 -0600
Processing by PostsController#show as HTML
Parameters: {"id"=>"1"}
[1m[36mPost Load (0.1ms)[0m [1mSELECT "posts".* FROM "posts" WHERE ("posts"."id" = 1) LIMIT 1[0m
[1m[35mComment Load (0.3ms)[0m SELECT "comments".* FROM "comments" WHERE ("comments".post_id = 1)
Rendered posts/show.html.erb within layouts/application (57.5ms)
Completed 200 OK in 73ms (Views: 61.1ms | ActiveRecord: 0.4ms)
Alguém sabe o que está causando isso? Se fosse PHP, acho que deixei um print_r em algum lugar do código. Mas não é e eu não fiz nada disso.