Ruby on rails 对于集合,部分渲染次数过多

Ruby on rails 对于集合,部分渲染次数过多,ruby-on-rails,ruby,Ruby On Rails,Ruby,创建一个简单的博客应用程序 我有这个部分 .comment %p %b Namn: = comment.name %p %b kommentar: = comment.content %p = link_to 'Destroy Comment', [comment.post, comment], :confirm => 'Are you sure?',

创建一个简单的博客应用程序

我有这个部分

.comment
%p
    %b 
        Namn:
        = comment.name

%p
    %b
        kommentar:
        = comment.content


%p
    = link_to 'Destroy Comment', [comment.post, comment],
            :confirm => 'Are you sure?',
            :method => :delete
它是从

= render :partial => 'comment', :collection => @post.comments
它总是将部分渲染为一次到多次

编辑:

它有这种形式

= form_for ([@post,@post.comments.build])

如您问题的评论所述,
@post.comments.build
是罪魁祸首。换成

= form_for ([@post, @post.comments.new])
呈现集合时的附加项应消失


这里有一篇关于build和new的区别的好帖子:

你的控制器操作中有@post.comments.build这样的东西吗,或者在视图中有一个表单吗?是的,当我现在在“调用”视图中查看它时,我有表单u([@post,@post.comments.build])使它成为([@post,@post.comments.new])即使有这样的改变,我仍然会尝试收集一个空的。