私は次のような2つのモデルを持っています
Class Post
has_many :comments, :dependent => :destroy
end
Class Comment
validates_presence_of :post
validates_presence_of :comment
belongs_to :post
end
コメントコントローラでは、
def create
comment = @post.comments.build(params[:comment])
if comment.save
// some code
else
// some code
end
end
検証によりコメントが無効な場合、コメントは保存されません。ただし、ビューで@postオブジェクトにアクセスすると、nilidのコメントオブジェクトが含まれます。これは、Rails2.3.11では発生しませんでした。Rails 3.1にアップグレードされ、次にRails3.2にアップグレードされます。@ post.reloadを実行すると、idがnilのこのコメントオブジェクトは表示されなくなります。REEを使用しています。
ビルドと新しいメソッドを交換しようとしました。ビルドと同じ結果になりました。同様の動作がアプリケーション全体で見られます。それは予想される動作ですか、それとも私は何か間違ったことをしていますか?