在我的rails应用程序中,我正在使用嵌套循环显示一些帖子。在开发模式下,每个循环完成后,post对象将按顺序转储为纯文本。所以看起来像这样:
这是不必要的,有点令人讨厌。导致此行为的原因是什么以及如何禁用它?编辑:这是循环:
= @posts.each do |post|
.post
%p= post.text
.replies
= if post.children != 0
= link_to "#{post.children} replies", '#',:toggled=>'no',:id=>"parent#{post.id}",:class=>"viewreplies",:rel=>post.children
%a.reply{:href => '#',:id => "reply#{post.id}",:rel => "thread#{post.thread}",:toggled=>'no' } Reply
%form{:method=>:post, :action => '/create', :class => 'replyform' }
= token_tag
%div{:id=>"replies#{post.id}"}
答案 0 :(得分:4)
默认情况下不是这种情况,你在某些地方明确地将Post对象转储到那里。
我猜您在=
中有其他<% @posts.each do |post| %>
签名(即您使用<%= ... %>
)。 each
方法返回集合本身(对于可能的链接,就像在jquery中一样)并且打印它没什么意义。
如果你对这种差异有任何困惑,
<% .. %>
表示'执行此'
<%= .. %>
表示'执行此操作并在页面上打印返回值'
答案 1 :(得分:1)
而不是使用= @ post use - @ post