Sou realmente novo em Ruby on Rails e encontrar a resposta para o problema acima foi um pouco complicado, mas finalmente consegui. Estou usando o Rails 4. Esta é apenas uma atualização do artigo semelhante de Piere Louis Gottfrois .
Crie um arquivo chamado:
/app/helpers/devise_helper.rb
Adicione o seguinte código:
module DeviseHelper
def devise_error_messages!
return '' if resource.errors.empty?
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)
# for Bootstrap 3 pay attention to the classes in the "div"
html = <<-HTML
<div class="alert alert-warning alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4>#{sentence}</h4>
#{messages}</div>
HTML
html.html_safe
end
end