在我的用户编辑页面中,有一行如下:
<%= devise_error_messages! %>
Run Code Online (Sandbox Code Playgroud)
问题是这不是输出错误的标准方式,应用程序的其余部分:
<% flash.each do |key, value| %>
<div class="flash <%= key %>"><%= value %></div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何让设计错误消息像使用flash.each的其他人一样工作?
谢谢.
我正在使用设计来处理身份验证.总的来说我喜欢它,但我想自定义错误显示.现在我的观点中有以下内容.
<div class="field <% if resource.errors[:email].present? %>error<% end %>">
<%= f.label :email, "Email:" %><br />
<% if resource.errors[:email].present? %>
<ul>
<% resource.errors[:email].each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
<% end %>
<%= f.text_field :email, :class => "text" %>
</div>
Run Code Online (Sandbox Code Playgroud)
但是当电子邮件出现问题时,显示的信息如下:is invalid.这不是非常用户友好,但我无法找到此消息的设置位置.它似乎不是在devise.en.yml,但也许我忽略了一些东西.
知道我可以在哪里定制错误消息吗?
谢谢!
使用Devise GEM,当重置用户密码时,可以设置新密码.如果输入的密码不匹配或密码太短,则会收到默认消息:
•密码与确认不符
•密码太短(最少8个字符)
我如何/在哪里更改这些错误消息的文本?
我已将密码的默认最小长度从 @@password_length = 5..128 更改为 6..128。当我在注册期间验证密码失败时,验证错误显示为“太短(最少 5 个字符)”。如何将此错误消息更改为“最少 6 个字符”。我在 stackoverflow 上读到了一些 anuswers,他们说要查看devise.views.en.yml。但仍然无法更改错误消息。
我的 devise.views.en.yml (密码字段)如下所示:
passwords:
edit:
change_my_password: Change my password
change_your_password: Change your password
confirm_new_password: Confirm new password
new_password: New password
new:
forgot_your_password: Forgot your password?
send_me_reset_password_instructions: Send me reset password instructions
no_token: You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.
send_instructions: You will …Run Code Online (Sandbox Code Playgroud)