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 示例,例如:如何美化 rails 中的验证。只是不要忘记在示例中将#errorExplanation 替换为#error_explanation。

但是您最好的方法可能仍然是重写此方法或编写并使用您自己的方法,然后应用您喜欢的所有样式。

我个人建议在它们所属的字段旁边显示错误。例如,请参阅此 SO 线程,了解如何执行此操作:Rails: Errors close to specific fields in forms

另一个改进是为您的表单切换到 simple_form(并免费获得错误-next-to-fields)。例如,请参阅关于此的优秀 Railscast:http ://railscasts.com/episodes/234-simple-form 。有一个更新的 Railscast 修订版,但不确定您是否是那里的 Pro 订阅者。

于 2013-02-28T00:54:02.493 回答