has_many
私はモデルを持っていますモデルコメントのそれを投稿してください。
Posts
show
アクションには、見つかったのリストがありComments
ます@comments = @post.comments
。
新しい を作成するためのフォームもありますComments
。フォームには、 で作成されたオブジェクトがあります@comment = @post.comments.build
。
これはすべて、コメントを一覧表示して正常に作成するために機能します。
この問題は、コメントの送信時にエラーが発生した場合に発生します。Post#show
エラーは、 を介して同じ形式 (so, on ) で表示されrender "posts/show"
ます。この場合、@comments = @post.comments
再度設定する必要がありますが、今回のコメントのリストには、ユーザーが作成しようとしている未保存のコメントが含まれています。
を使用して解決しましたが@post.comments.all
、これは保存されたモデルのみを提供しますが、Rails はこれが Rails 4 では非推奨であると不平を言っています。
から取得したコメントのリストから未保存のコメントを削除するにはどうすればよい@post.comments
ですか?