5

明確にするために、config/locales/devise.en.yml のエラー メッセージを編集する方法は知っていますが、これらのタイプのエラー メッセージのスタイルについて言及しています。

2 errors prohibited this user from being saved:
  • 電子メールを空白にすることはできません
  • パスワードを空白にすることはできません

--

私が見るのは <%= devise_error_messages! %> サインアップ ページで、エラー メッセージ自体を実際に編集する方法がわかりません。

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

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

他のどのコントローラーまたはコンテンツを含めるべきかわからないので、質問するとすぐに、必要に応じて OP を更新します。

4

1 に答える 1

8

devise_error_messages のソースを参照してください! https://github.com/plataformatec/devise/blob/master/app/helpers/devise_helper.rbのメソッド。

すべてのエラーは内部にあります

<div id="error_explanation"> 

その事実を CSS で使用できます。内部では、ヘッダー メッセージに h2、個々のエラーに ul という基本的なスタイルのみが使用されます。#errorExplanation スタイルについては、この SO の例を参照してください。たとえば、 how to beautify validations in rails . 例の #errorExplanation を #error_explanation に置き換えることを忘れないでください。

しかし、あなたの最善のアプローチは、おそらくこのメソッドを書き直すか、独自のメソッドを作成して使用し、好きなスタイルをすべて適用することです。

個人的には、エラーが属するフィールドの横にエラーを表示することをお勧めします。たとえば、その方法については、この SO スレッドを参照してください: Rails: Errors close to specific fields in forms

もう 1 つの改善点は、フォームを simple_form に切り替えることです (そしてフィールドの横にあるエラーを無料で取得します)。たとえば、優れた Railscast を参照してください: http://railscasts.com/episodes/234-simple-form。最近改訂された Railscast がありますが、そこに Pro サブスクライバーかどうかはわかりません。

于 2013-02-28T00:54:02.493 に答える