Twitter Bootstrap 默认值的 Flash 消息的自定义类和格式

2024-02-14

我正在将 twitter bootstrap css 集成到我的应用程序中。进展顺利,但我不知道如何为我的 Flash 消息自定义 CSS 和包装器。

我希望我的 Flash 消息能够使用默认的 Bootstrap 类进行格式化:

    <div class="alert-message error">
      <a class="close" href="#">×</a>
      <p><strong>Oh snap!</strong> Change this and that and <a href="#">try again</a>.</p>
    </div>

目前我用以下方式输出闪存消息:

<% flash.each do |name, msg| %>
    <%= content_tag :div, msg, :id => "flash_#{name}" %>
<% end %>

有没有一种简单的方法来运行一个小开关,使 :notification 或其他 Rails Flash 消息映射到训练营中的类,例如信息?


我对 Bootstrap 2.0 的回答始于 @Railslerner 的有用答案,但在部分中使用了不同的代码。

应用程序/helpers/application_helper.rb(与@Railslerner的答案相同)

module ApplicationHelper
  def flash_class(level)
    case level.to_sym
    when :notice then "alert alert-info"
    when :success then "alert alert-success"
    when :error then "alert alert-error"
    when :alert then "alert alert-error"
    end
  end
end

某处在应用程序/视图/布局/application.html.erb:

<%= render 'layouts/flash_messages' %>

应用程序/视图/布局/_flash_messages.html.erb

<div>
  <% flash.each do |key, value| %>
    <div class="<%= flash_class(key) %> fade in">
      <a href="#" data-dismiss="alert" class="close">×</a>
      <%= value %>
    </div>
  <% end %>
</div>

差异:

  • 每次调用时不会循环遍历不同的错误级别。
  • 相反,如果哈希值包含消息(遵循Michael Hartl 的 Rails 教程中的方法 http://ruby.railstutorial.org/book/ruby-on-rails-tutorial#sec:the_flash).
  • 不使用<p> tag, 不再需要 http://twitter.github.com/bootstrap/components.html#alerts在 Bootstrap 2.0 中。

请记住包含 bootstrap-alert.js,以便淡入淡出和关闭功能正常工作。如果您使用 bootstap-sass gem,请将此行添加到应用程序/资产/javascripts/application.js:

//= require bootstrap-alert

Update 8/9/2012: Folders updated. I actually put everything except the helper under app/views/layouts since flash_messages is only used in app/views/layouts/application.html.erb.

2015 年 6 月 5 日更新:更新到 Rails 4.2 后,我发现level(至少有时)作为字符串传入并且无法匹配 ApplicationHelper 中的 case 语句。将其更改为level.to_sym.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Twitter Bootstrap 默认值的 Flash 消息的自定义类和格式 的相关文章

  • MongoMapper 和 bson_ext 问题

    我无法让 MongoMapper 与我的 Rails 应用程序一起使用 我收到此错误消息 注意 C 扩展未加载 这是最佳 MongoDB Ruby 驱动程序性能所必需的 您可以按如下方式安装扩展 宝石安装 bson ext 如果安装后继续收
  • Bootstrap 的网格每行列数

    Bootstrap 附带一个 12 列网格系统 必须放置在行内 我的问题是 列数 行数是否必须为 12 或更少 或者我可以有如下所示的布局吗 div class row div class col md 4 div div class co
  • 使用简单的表单轨道删除日期选择中的日期时间和时间分隔符

    如何删除由名为 simple form 的 gem 创建的日期选择中的日期时间分隔符和时间分隔符 我想我必须重写initializesimple form 用于创建日期选择或在表单输入中传递哈希选项的方法 但这不起作用 我尝试这样的事情 f
  • 处理rails应用程序中的rack_throttle异常

    当超出速率限制时 如何处理由rack throttle gem 生成的错误 现在我只收到包含以下内容的回复 Internal Server Error undefined method each for 403 Forbidden Rate
  • 将 URL 转换为 JSON 版本?

    在我的应用程序的所有页面上 我想要一个指向当前页面的 JSON 版本的链接 有什么巧妙的技巧可以做到这一点吗 当 URL 中包含额外的 参数时 情况就变得复杂了 所以 url 将被转置为 users gt users json users
  • 带完整堆栈跟踪的单元测试

    这似乎是一个愚蠢的问题 但我无法在任何地方找到答案 我正在使用 Rails 3 1 和 Test Unit 当测试失败时 我只能看到堆栈的顶部 例如 ERROR creating a message sends emails 1 35s N
  • 将 gmaps4rails 与 https/SSL 结合使用

    我是 gmaps4rails 的忠实粉丝 它使向我们的网络应用程序添加地图变得非常容易 我现在遇到的唯一问题是 如果您在 https 页面上使用它 则会收到有关混合内容的安全警告 谷歌地图API确实支持https 所以我认为这只是将脚本引用
  • 在 SCSS 部分中使用 Rails 3.1 资源路径

    我有以下设置 app assets stylesheets application css scss require self require fancybox COLORS MIXINS FONT STACKS IMPORTS impor
  • 使用 Devise 嵌套资源 - Rails3

    我正在尝试设置一个配置文件控制器来与设备注册成员一起使用 我已经创建了Profile模型和控制器并添加了one to one relationship通过增加belongs to member to my 配置文件 rb模型和has one
  • Laravel 中 Twitter Bootstrap 导航的自动活动类

    和大多数人一样 我正在使用 Twitter Bootstrap 来构建我目前在 Laravel 中开发的网站 到目前为止 我很喜欢使用 Laravel 作为与 Rails 相当的 PHP 但我想知道是否有更好的方法来制作导航栏 我试图确保我
  • 电子邮件 CSS 模板框架?

    任何人都知道任何电子邮件模板 CSS 框架 我目前正在使用引导程序 它可以工作 但不完全是为电子邮件而构建的 我看过 zurb ink 但它似乎对开发人员不太友好 很难让它发挥作用 其他人在那里使用什么 查看MJML https mjml
  • 自动更改 Twitter Bootstrap 选项卡

    我希望 Twitter Bootstrap 选项卡按时间顺序更改 我使用它们有点像旋转木马 我希望选项卡每 10 秒切换到下一个选项卡 这是一个例子 http library buffalo edu http library buffalo
  • 在 Rails 4 中使用 AJAX 进行搜索、排序和分页

    我正在尝试进行实时搜索导轨4 0 1应用 我用的是Railscasts 240 教程 http railscasts com episodes 240 search sort paginate with ajax view asciicas
  • qUnit:在 qunit-fixture 之外编写的 Twitter Bootstrap 模式

    我在为使用 Twitter Bootstrap 的项目编写 qUnit 测试时遇到了困难 当生成模态时 它将覆盖层放在 qunit fixture 之外 因此当运行下一个测试时 覆盖层不会被删除 有人遇到这个问题吗 点击事件 链接到jsfi
  • Factory_girl、关联和 after_initialize 的问题

    我有一个这样定义的家庭类 class Family lt ActiveRecord Base after initialize initialize family belongs to user validates user presenc
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Rails 销毁除最新的 n 条记录之外的所有记录

    如何使用 Rails 的 ActiveRecord 销毁除最新的 n 条记录之外的所有记录 我可以使用 order 和 limit 获取最新的 n 条记录 但如何销毁逆函数 这些方法中的任何一个都可以做到这一点 Fetch your lat
  • 使用 Bootstrap,但文本不响应

    我正在开展一个学校项目 http lauralynn87 github io WSP Project index html http lauralynn87 github io WSP Project index html 我正在使用 Bo
  • docker环境下日志不保存到文件

    在我的生产环境中production rb 我已配置我的日志将保存到文件中 config logger Logger new log production log 当我在本地运行时 使用命令行启动服务器rails s e productio
  • 如何将 twitter bootstrap 与 Spring MVC 一起使用

    我不明白为什么我的 Spring MVC 页面没有隐藏引导样式 我的你好 jsp

随机推荐

  • 在以下任何来源中均未找到插件 [id: 'com.android.application', version: '7.2.0', apply: false]

    请帮忙 我是 android studio 的新手 之前提出的问题中提供的解决方案都不适合我 我不断收到错误 Gradle 同步失败 在以下任何来源中均未找到插件 id com android application version 7 2
  • Robolectric 3.0测试片段

    我是机器人电动测试的新手 我正在尝试跟随this https stackoverflow com questions 29173071 how to use findviewbyid in robolectric发布测试片段 我使用以下作为
  • 如何在c++中使用getline命令?

    我正在尝试将 cout 命令转换为 c 中的 getline 命令 这是我正在尝试更改的代码 for int count 0 count lt numberOfEmployees count cout lt lt Name cin gt g
  • CakePHP 可容纳条件不限制结果?

    我正在尝试在分类列表中查找用户的杂货 这些关联是 类别 hasMany Item hasMany User 到 Grocery 我正在使用可控制行为 它不会过滤掉所有其他杂货 它基本上返回每个项目 我的控制器功能 function show
  • 在 Go 中对多个返回值进行转换/类型断言的惯用方法

    在 Go 中转换多个返回值的惯用方法是什么 您可以在一行中完成它 还是需要使用临时变量 就像我在下面的示例中所做的那样 package main import fmt func oneRet interface return Hello f
  • 野牛规格和优先顺序

    给定 Bison 规范 right TOK ADD TOK MUL 我想知道 TOK ADD 和 TOK MUL 的优先顺序是什么 另外如果我有野牛规格 left TOKMUL TOKADD left TOKDIV left TOKSUB
  • Eclipse 构建错误“未编写类文件。项目可能不一致,如果是这样,请尝试刷新此项目并构建它”

    我一直在努力解决一个非常奇怪的问题 该问题突然出现在最新版本的 Eclipse Classic 4 2 2 上 每次我尝试在 Eclipse 工作区中的任何项目 所有 Java 中创建或重构类或子类时 我都会在类的最顶部收到一条错误消息 A
  • C程序中的文件大小

    我只想借助 c 程序找到文件大小 我写了一个代码 但它给出了错误的结果 fseek fp 0 SEEK END osize ftell fp 还有其他办法吗 The stat系统调用是解决这个问题的常用方法 或者 在您的具体情况下 fsta
  • 使用 JavaScript 迭代 PDF 表单中的所有字段

    我想修改 PDF 表单中所有字段的一些属性 以响应用户单击按钮 哪个属性或方法将返回字段集合以便我可以迭代它们 如果有字段集合我还没有找到 不过 有一种方法可以迭代所有字段 The numFieldsdoc 对象的属性给出了字段的数量 ge
  • JavaScript 获取字符串的实际长度(不带实体)

    我需要确定可能包含 html 实体的字符串的长度 例如 darr 将返回长度 6 这是正确的 但我希望这些实体仅被计为 1 个字符 div darr div alert document getElementById foo innerHT
  • java中是否可以使用字符串来调用raw中的文件?

    是否可以创建一个像这样的字符串 public String pos1 bloodstone 然后在 Mediaplayer 之类的东西中使用它 Mediaplayer s1 s1 MediaPlayer create this R raw
  • 从与 SimpleCursorAdapter 绑定的 ListView 中获取所选项目

    我是 Android 开发的新手 来自 iPhone 和 Net 背景 我见过与此非常相似的问题 但没有一个涉及 SimpleCursorAdapter 我有一个基本的 ListActivity 它使用 Cursor 将 SQLite 查询
  • 无法将 DTE、项目或解决方案转换为 VCProject 和 VCCodeModel

    我试图通过代码获取有关 c 程序的一些信息 我在 EnvDTE 方面取得了一些成功 现在我需要使用 VCProject 和 VCCodeModel 并且我遇到了转换问题 希望这就是全部 在工人阶级中 我有一个DTE application
  • LINQ 和分页[重复]

    这个问题在这里已经有答案了 我们需要使用 LINQ 从数据库中获取数据 我们现在需要实现分页 我想有时我们需要获取10一次记录 当我们单击 下一步 按钮时 它将获取下一条记录10来自数据库的记录 请用代码指导我 谢谢 我总是使用以下代码 p
  • Npm 请以 root/管理员身份再次尝试使用此命令

    我一直在拼命尝试使用 node js 安装模块 但总是无法使用 npm 获取包 我以管理员身份登录 并使用 powershell cmd 和 以管理员身份运行 我也遇到了注册表问题 所以我使用了 npm setregistryhttp re
  • 查找错误 ORA-00932:数据类型不一致:预期 DATE 为 NUMBER

    当我尝试运行此查询时 出现上述错误 有人可以帮我解决这个问题吗 UPDATE CCO ORDER CREATION SET Doc Date 8 9 2013 WHERE Document Number IN 3032310739 3032
  • Linux Eclipse CDT 分析器

    我在 Linux 下使用 Eclipse CDT 请问有人可以在该环境下推荐一个好的分析器吗 我也是 C 和多线程编程的新手 任何人都可以提供一些关于如何运行多线程应用程序分析的建议 例如 寻找性能瓶颈等 Thanks 我不知道这是否是最好
  • 运行hadoop时出错

    haduser user laptop usr local hadoop bin hadoop dfs copyFromLocal tmp input user haduser input 11 12 14 14 21 00 INFO ip
  • 中断并行流执行

    考虑这段代码 Thread thread new Thread gt tasks parallelStream forEach Runnable run 任务是应并行执行的 Runnable 列表 当我们启动这个线程并开始执行时 根据一些计
  • Twitter Bootstrap 默认值的 Flash 消息的自定义类和格式

    我正在将 twitter bootstrap css 集成到我的应用程序中 进展顺利 但我不知道如何为我的 Flash 消息自定义 CSS 和包装器 我希望我的 Flash 消息能够使用默认的 Bootstrap 类进行格式化 div cl