Railsでのflash直後のrenderについて
flashの動作として、リクエストを受けたタイミングで内容を表示して消しますが、renderの時は再描画でリクエストとは見なされずに、次に画面を遷移したときにエラーなどのflashメッセージが残ってしまうことがあります。
間違った例
flash[:error] = 'Error'
render 'new'
これを解決するにはflash.nowメソッドを利用します。
render後にメッセージを削除
flash.now[:error] = 'Error'
render 'new'
とここまで書きつつもredirectとrenderの使い分けが正しくできていないような気がするので、以下に参考など。
http://ruby-rails.hatenadiary.com/entry/20140808/1407427457