1

これは私のroutes.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 に答える