2010-12-13 17 views
1

私はvalidates_uniqueness_of :login, :e-mailのユーザーモデルを持っています。ユーザーが自分の情報をuser/new.html.erbに入力すると、2つのフィールドのいずれかが原因で作成アクションが失敗することがあります。Flash [:エラー] validates_uniqueness_ofに基づいて:ログイン、:電子メール

次回に変更する必要があるフィールドのどちらか(または両方)をユーザーに知らせるために、フラッシュをカスタマイズするにはどうすればよいですか?

答えて

0
flash[:error] = @user.errors.full_messages.to_sentence 

を実行してください。しかし、私は無効なデータを含むフィールドの横にエラーを表示することをお勧めします。 formtasticのようなプラグインは自動的にこれを行います。

Check the API詳細については、

+0

これは私に '["電子メールは既に取られました "、"電子メールは既に取られました "、"ログインは既に行われました "、"ログインは既に行われました "]です。どうすればわかりやすくすることができますか? – sscirrus

+0

ActiveSupportの 'to_sentence'を適用しましたか(編集中に追加しました)?その配列を ''電子メールが既に取得され、ログインが既に行われている状態に変換する必要があります。 –

+0

また、リダイレクトを実行しない限り、flash.now [:error]を使用して次のページに再び表示されないようにすることもできます(次回の要求ではフラッシュは保存されます。 –

関連する問題