设计如何改变Flash消息CSS从通知到成功



Rails 3.1和design1.5问题。

我使用以下代码在我的布局中显示flash消息:

    <% flash.each do |key, message| %>
      <%= content_tag(:div, message, :class => "flash #{key}") %>
    <% end %>

我想改变我的一些确认消息的css类从通知到成功,但我不知道在哪里重写或更改键,因为我不知道它在哪里设置。

谁能给我指个正确的方向?

谢谢!

所以要做到这一点的方法是编辑设计控制器。

当你通过正常安装安装设计,我不认为它安装控制器(至少它没有为我)。

因此,首先你应该手动添加控制器文件,并将它们放入项目的相同位置:https://github.com/plataformatec/devise/tree/master/app/controllers/devise

一旦项目中有了这些文件,转到"sessions_controller"。rb文件。

一行16 &25、你应该看到下面的代码:

set_flash_message :notice, :signed_in

set_flash_message :notice, :signed_out

你只需要把":notice"改成":success"

希望这有效!

我遇到了这个问题,因为我使用的是bootstrap-sass gem,它为flash消息使用了完全不同的类结构。我选择了用sass来解决这个问题,而不是用设计来解决这个问题(sass继承是很棒的:)。

因此,我在app/view/layouts/application.html.haml中渲染flash消息:

%div.container
  - flash.each do |key, value|
    = content_tag(:div, value, class: "alert alert-dismisable alert-#{key}")

并且,我为app/assets/stylesheets/custom.css.scss添加了一个简单的规则,以获得设计的闪光消息工作:

/* Style Devise Flash messages like Bootstrap */
.alert-alert {
  @extend .alert-warning;
}

就是这样!现在flash[:alert]的风格就像bootstrap的flash[:warning]

css类由:class参数设置。要添加notice(或success等)类,只需将调用更改为以下内容:

<%= content_tag(:div, message, :class => "flash #{key} notice") %>

相关内容

最新更新