你好,我是一个新手,正在学习 Ruby on Rails,但我很难理解 I18n 的闪存消息。我正在使用 Devise、Rails 4 和 Twitter Bootstrap。我知道 Devise 只使用 flash[:notice]
和 flash[:alert]
。
我能够让我的用户模型的闪存消息在登录和退出时正常工作。然而,我无法正确显示注册或忘记密码的闪存错误。它看起来像默认的错误消息。
我查看了很多相关问题,但对于如何使用漂亮的 CSS 显示所有闪存消息(错误、成功、通知)感到困惑。
也许答案已经在这篇文章中了?rails-Devise-Handling-devise_error_messages
目前,我的闪存消息基于 如何使用 Twitter Bootstrap Rails gem 定义 Flash 通知
这是我的示例:
在 '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显示所有flash消息(错误、成功、通知)?
更新:此帖子显示了我要做的正确版本。我的问题是样式看起来不一样。我认为这是由于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中使用哪些标签? 您可以看到注册页面^^和登录页面(下方)之间的区别。