Привет, я новичок в ruby on rails, и я изо всех сил пытаюсь понять флэш-сообщения I18n. Я использую devise, rails 4 и twitter bootstrap. Я понимаю, что devise использует только flash[:notice]
и flash[:alert]
.
Я могу заставить флэш-сообщения работать для моей пользовательской модели с входом и выходом из системы. Однако я не могу получить ошибку флэш-памяти для регистрации или забыл пароль для правильного отображения. Похоже на сообщение об ошибке по умолчанию.
Я просмотрел кучу вопросов, связанных с этим, и я запутался в том, как отображать все флэш-сообщения (ошибки, успехи, уведомления) с красивым CSS.
Возможно, ответ уже есть в этой статье прямо у меня под носом? rails — Devise — Handling — devise_error_messages
В настоящее время мои флэш-сообщения основаны на Как определить флэш-уведомления с жемчужиной Twitter Bootstrap Rails
Вот мой пример:
внутри 'app/views/layouts/application.html.erb'
<%= render 'layouts/messages' %>
'app/views/layouts/_messages.html.erb'
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div class="alert alert-<%= name == :notice ? "success" : "error" %>">
<a class="close" data-dismiss="alert">×</a>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
</div>
<% end %>
<% end %>
Как отобразить все флэш-сообщения (ошибки, успехи, уведомления) с помощью моего пользовательского CSS?
Обновление: в этом сообщении отображается правильная версия того, что я пытаясь сделать. У меня проблема в том, что стиль не выглядит одинаково. Я считаю, что это из-за тега html.
html = <<-HTML
<div class="alert alert-error alert-block"> <button type="button"
class="close" data-dismiss="alert">x</button>
<h4>#{sentence}</h4>
#{messages}
</div>
HTML
Любая идея, как я могу иметь такой же стиль для предупреждений? или какие теги использовать в css?
Вы можете увидеть разницу между страницами регистрации^^ и входа (ниже).