私のアカウントコントローラでは、変更を保存してフラッシュ通知を表示した後で編集ビューを表示(レンダリング、redirect_to?)したいと思います。rails3で編集ビューとフラッシュメッセージをレンダリングする方法
flash[:notice] = "message"
ちょうどそれを表示するために、あなたのビューの上部に次の行を追加します:
<p id="notice"><%= flash[:notice] %></p>
そして、あなたあなたはまだRailsの2のように通知を使用することができます
def update
@account = Account.find(params[:id])
respond_to do |format|
if @account.update_attributes(params[:account])
format.html { redirect_to(@account, :notice => 'Account was successfully updated.') }
else
format.html { render :action => "edit" }
end
end
end
をお読みください。更新後に 'redirect_to'するのは標準的なので、ブラウザのRefreshは2回目には送信しません。 「もう一度フォームを編集してください」という部分が私を混乱させます。 – timkay
実際、それは私の間違いでした。あなたのケースでは、実際にはそれらの方法に違いはありません。だから何でも好きなものを使いましょう。 –
@timkayしかし、 'render'と' redirect_to'は完全に別のメソッドであることを忘れないでください。詳細は、[Rails Guides on Rendering](http://guides.rubyonrails.org/layouts_and_rendering.html)を参照してください。 –