やりたいこと
devise専用のエラー表示(devise_error_messages!)を、
他のalertと同じようにBootstrap3を利用した表示方法に置き換えたい。
▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽ ▽
実装方法
deviseのヘルパーを作って"devise_error_messages!"をオーバーライドした箇所で整形。
あまりスマートではないかもしれませんが、これが一番簡単そうですね…。
app/helpers/devise_helper.rb
module DeviseHelper
def devise_error_messages!
return "" if resource.errors.empty?
html = ""
messages = resource.errors.full_messages.each do |errmsg|
html += <<-EOF
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
<span class="sr-only">close</span>
</button>
#{errmsg}
</div>
EOF
end
html.html_safe
end
def devise_error_messages?
resource.errors.empty? ? false : true
end
end