Devise выдает свои собственные предупреждающие сообщения (и они могут быть отредактированы в config/locales/devise.en.yml
и написаны для других языков), вам просто нужно их перехватить.
Одним из способов является добавление layout/_messages
частичного:
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div class="alert alert-<%= name %>">
<a class="close" data-dismiss="alert">×</a>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
</div>
<% end %>
<% end %>
и отобразить его в application.html.erb
:
<%= render 'layouts/messages' %>
Преимущество заключается в том, что вы можете ловить все сообщения (придумывать и другие) и хорошо играть с классами оповещений о начальной загрузке (если вы используете загрузчик).
.
Или, если вы используете slim :
- flash.each do |name, msg|
- if msg.is_a?(String)
div class="alert alert-#{name}"
a class="close" data-dismiss="alert"
| ×
= content_tag :div, msg, :id => "flash_#{name}"
= render 'layouts/messages'
.
Devise использует стандарт рельсов :notice
вместо :success
, но вы можете добавить успешный (зеленый) стиль к вашему css / scss (например, к bootstrap_and_overriders.css.scss
) ):
.alert-alert {
@extend .alert-error
}
.alert-notice {
@extend .alert-success
}