2013-02-28 13 views
5

明確にするために、私は設定/ロケール/ devise.en.ymlにエラーメッセージを編集する方法を知っているが、私は、エラーメッセージのこれらのタイプのスタイリングを参照しています:Deviseのエラーメッセージをどのように編集しますか?

2 errors prohibited this user from being saved: 
  • メールはできません空白
  • パスワードも

空白にすることはできません -

私が見るすべては<% = devise_error_messagesです! %>をクリックしてください。実際にエラーメッセージを編集する方法はわかりません。

私の場合、メッセージは左側に表示され、サインアップは中心になります(奇妙に見えます)、メッセージの赤い色が気に入らず、別の色を好むでしょう。

私の質問は、どのようにエラーメッセージのスタイルを設定できますか?中心に置き、色を変更します。

尋ねるとすぐに他のコントローラやコンテンツを含めるかどうか不明な場合は、必要に応じてOPを更新します。

答えて

8

devise_error_messagesのソースを参照してください!方法はhttps://github.com/plataformatec/devise/blob/master/app/helpers/devise_helper.rbです。

すべてのエラーは、そう、あなたのCSSにその事実を使用することができます

<div id="error_explanation"> 

の内側にあります。その内部では基本的なスタイリングだけが使用されます。ヘッダーメッセージの場合はh2、個々のエラーの場合はulです。 #errorExplanationスタイリングについては、この例を参照してください(例:how to beautify validations in rails)。 #errorExplanationを#error_explanationに置き換えることを忘れないでください。

しかし、あなたの最善のアプローチはおそらく、この方法を書き直すか、あなた自身のものを書いて使用することです。あなたが好きなスタイリングがすべて適用されます。

私は自分が所属するフィールドの横にエラーを表示することをおすすめします。例えば、このSOのスレッドを参照してください:Rails: Errors close to particular fields in forms

もう一つの改善点は、フォームのsimple_formに切り替えることです(無料でフィールドの隣にエラーが表示される)。例えば、その上の優れたRailscastを参照してください:http://railscasts.com/episodes/234-simple-form。より最近のRailscastが改訂されましたが、そこにPro加入者がいるかどうかは不明です。

+0

あなたのお返事ありがとうございます@moonfly、ちょうどそれを行って、それはポストがDeviseの古いバージョンを参照しているようです。私は少しの成功で上記の方法を複製しました。私のdeviseエラーメッセージは<%= devise_error_messagesです! %>が見つかりませんでしたが、そのファイルの内容は見つかりませんでした。 –

+0

私は上記の答えを更新しました:#errorExplanationは、この例では#error_explanationに置き換えてください。 – moonfly

+0

ありがとう!これは役に立ちました。スクリーンショットがあります:http://i.imgur.com/1r4hQMM.png - パスワードボックスを移動して灰色にするだけです。それには別のコードがありますか? –

関連する問題