2010-12-03 19 views
0

Rails 3でFormtasticを使用して作成したフォームがあります。フォームがClientsControllerの#createアクションに送信され、保存が成功した場合、コントローラは「ありがとうございました」ページにリダイレクトされます。保存が成功しなかった場合は、フォームが埋め込まれているページにリダイレクトされます。フォームページで検証エラーをインラインで表示できるようにしたいのですが、そのページにリダイレクトした後、エラーオブジェクトが空に戻ります。Rails 3のフォーム検証エラー

フォームに検証エラーを表示するにはどうすればよいですか?

ここはコントローラのコードです。

if client.save && event.save 
    redirect_to "/thank-you" 
else 
    redirect_to :back 
end 

いくつかの追加の詳細情報:フォームがあるページには表示がありませんので、私はRefineryCMSを使用していますので、私はしませんrenderビューができます。

答えて

1

セッションにエラーを保存する必要があります。あなたはエラーがanywere session[:client_create_errors]

1

なぜ:

render :action => 'name-of-the-view-the-form-is-in' 

の代わりredirect_to :back

+0

申し訳ありませんを使用してから、オブジェクトにアクセスすることができます

 if client.save && event.save session[:client_create_errors] = nil redirect_to "/thank-you" else session[:client_create_errors] = client.errors redirect_to :back end 

は今、私はRefineryCMSを使っていることに言及しているはずなので、ページはデータベースに格納されています。このページの表示はありません。 – picardo

関連する問題