【发布时间】:2013-11-28 07:29:41
【问题描述】:
我正在使用 Rails 4、Twitter Bootstrap 3.0 和 Devise 3.0。我正在尝试为设计和我的网站的其他部分获取外观相同的 Flash 消息。到目前为止,我有这个:
在“app/views/layouts/application.html.erb”内:
<%= render 'layouts/messages' %>
“app/views/layouts/_messages.html.erb”:
<% devise_flash %>
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>">
<a href="#" data-dismiss="alert" class="close">×</a>
<%= value %>
</div>
<% end %>
我创建了一个 "app/helpers/devise_helper.rb" 以覆盖默认的设计错误消息:
module DeviseHelper
def devise_error_messages!
end
end
“app/helpers/application_helper.rb”:
def devise_flash
if controller.devise_controller? && resource.errors.any?
flash.now[:error] = flash[:error].to_a.concat resource.errors.full_messages
flash.now[:error].uniq!
end
end
“app/assets/stylesheets/custom.css.scss”:
.alert-error {
background-color: #f2dede;
border-color: #eed3d7;
color: #b94a48;
text-align: center; }
.alert-alert {
background-color: #f2dede;
border-color: #eed3d7;
color: #b94a48;
text-align: center; }
.alert-success {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #468847;
text-align: center; }
.alert-notice {
background-color: #dff0d8;
border-color: #d6e9c6;
color: #468847;
text-align: center; }
它可以很好地显示正常的闪烁消息,但问题是当我遇到设计错误时。它看起来像这样:
我试图列出更多类似这样的错误:
我不希望错误被“”包围。它不需要有项目符号,但我希望它垂直列出。我想我需要在 "app/helpers/application_helper.rb" 文件中编辑我的 devise_flash 方法。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails twitter-bootstrap devise ruby-on-rails-4 twitter-bootstrap-3