My devise login page doesn't show wrong email/password message How to show them?
What I've done: I have generated devise views and controllers:
rails generate devise:views
rails generate devise:controllers
I have created 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
Also I show flash msgs in views/users/sessions/new.erb
<% 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 %>
What do I do next? I have read similar questions like this but the didn't help
upd: I found what was wrong, my answer is written below
Well, I should just put this code
<% 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 %>
Here: /home/direwolf/rails_projects/limo/app/views/devise/sessions/new.html.erb
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.