设计显示错误的电子邮件/密码消息

时间:2016-09-09 20:37:46

标签: ruby-on-rails devise

我的设计登录页面未显示错误的电子邮件/密码消息 如何展示它们?

我做了什么: 我已经生成了设计视图和控制器:

rails generate devise:views

rails generate devise:controllers

我创建了devise_helper.rb

 module DeviseHelper
  def devise_error_messages1!
    resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
  end

  def devise_error_messages2!
    resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join
  end
end

我还在views/users/sessions/new.erb

中显示flash msgs
<% flash.each do |name, msg| %>

  # New code (allow for flash elements to be arrays)
  <% if msg.class == Array %>
    <% msg.each do |message| %>
      <%= content_tag :div, message, :id => "flash_#{name}" %>
    <% end %>
  <% else %>

    # old code
    <%= content_tag :div, msg, :id => "flash_#{name}" %>

  <% end %> #don't forget the extra end
<% end %>

接下来我该怎么办? 我读过像this这样的类似问题,但没有帮助

upd:我发现了什么问题,我的答案写在下面

1 个答案:

答案 0 :(得分:1)

好吧,我应该把这段代码

<% flash.each do |name, msg| %>

  <% if msg.class == Array %>
    <% msg.each do |message| %>
      <%= content_tag :div, message, :id => "flash_#{name}" %>
    <% end %>
  <% else %>

    <%= content_tag :div, msg, :id => "flash_#{name}" %>

  <% end  #don't forget the extra end %>
<% end %>

下面: /home/direwolf/rails_projects/limo/app/views/devise/sessions/new.html.erb