-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Override devise_error_messages! for views
Alter Lagos edited this page Aug 16, 2017
·
6 revisions
The devise_error_messages!
method is overridden by adding a devise_helper.rb
application helper.
The standard implementation (below) can be cut and paste in then tweaked to your requirements. It can also be helpful to define a convenience method to check for their presence in your views:
module DeviseHelper
def devise_error_messages!
return "" unless devise_error_messages?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = I18n.t("errors.messages.not_saved",
:count => resource.errors.count,
:resource => resource.class.model_name.human.downcase)
html = <<-HTML
<div id="error_explanation">
<h2>#{sentence}</h2>
<ul>#{messages}</ul>
</div>
HTML
html.html_safe
end
def devise_error_messages?
!resource.errors.empty?
end
end
You could also check the current devise_helper.rb for any new change not reflected in this wiki.
More information at this StackOverflow thread.