部分渲染一次太多收集

时间:2011-10-12 11:37:32

标签: 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?',
            :method => :delete

调用
= render :partial => 'comment', :collection => @post.comments

它总是将部分时间渲染为多次?

编辑:

它有这种形式

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

1 个答案:

答案 0 :(得分:0)

如您问题的评论中所述,@post.comments.build是罪魁祸首。将其更改为

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

并且渲染集合时的附加项目应该消失。

这里有关于构建和新增内容的差异的好文章:Build vs new in Rails 3