1

这是我的路线.rb

resources :posts do
    resources :comments
end

这是 post/show.html.haml

.post
  %h1= @post.title
  %p= @post.content

  - @post.comments.each do |comment|
     .comment
        %h3= comment.name
        %p= comment.text

= form_for([@post, @post.comments.build])  do |f|
  = f.label :name
  = f.text_field :name
  = f.label :text
  = f.text_area :text
  = f.submit

问题是当我尝试保存无效评论时,它仍然会被添加到@post.comments 并打印出来。如果我进行刷新,无效的评论就会消失,但如果可能的话,我仍然想避免这种情况——并且想知道最佳做法是什么?

目前我正在通过执行以下检查来解决此问题:

- unless comment.invalid?

任何帮助将不胜感激!:-)

4

1 回答 1

0

如果有人想知道,我通过以下方式解决了这个问题:

= form_for([@post, @comment = @comment || @post.comments.build)
于 2013-12-04T07:50:22.883 回答