为什么这个rails视图在.each do循环结束时吐出一个原始数组?

我在Rails视图中被这个奇怪的输出所困扰。 这是我的模型:

class Comment < ActiveRecord::Base belongs_to :post end 

这是我观点的相关部分。 我已经将问题分离到这个代码块,特别是在最后一次迭代之后和循环结束之前发生的任何事情 。 如果我注释掉每次迭代中打印的实际文本,原始数组仍然会打印出来。

 

Comments

Commenter:

这是奇怪的输出(带样本注释。):

评论者:迈克尔

好post。

评论者:迈克尔

好post。

评论者:迈克尔

测试。

评论者:约翰

arrays还在打印吗?

  [#, #, #, #] 

最后,这是开发日志的阅读方式。 他们都看起来像这样。

 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) 

有人知道造成这种情况的原因吗? 如果这是PHP,我猜我在代码中的某处留下了print_r。 但它不是,我没有做那样的事情。

尝试删除<%= @post.comments.each do |comment| %> <%= @post.comments.each do |comment| %> 。 仅当方法本身输出某些东西时才需要等于。 在这种情况下,您只是使用它来迭代集合。