Twitter Bootstrap和Ruby on Rails的警报/错误

时间:2013-11-17 02:04:07

标签: ruby-on-rails twitter-bootstrap asset-pipeline

我正在使用Twitter Bootstrap使用Ruby on Rails快速构建一个小应用程序,我似乎在使用bootstrap-sass gem时遇到了问题。

我在我的Gemfile中添加了必需的行,并执行了bundle install。问题是......它似乎没有在vendor/assets/stylesheets内放置需要的引导CSS文件。

因此,当我登录时(使用Devise),它根本没有显示正确的样式:

Bootstrap Not Working!

这个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">&#215;</a>
          <%= content_tag :div, msg, :id => "flash_#{name}" %>
        </div>
    <% end %>
<% end %>
根据Bootstrap文档,

正在生成以下HTML,这似乎是正确的,它应该生成一个Bootstrap样式的红色“错误”警告框:

<div class="alert alert-error">
  <a class="close" data-dismiss="alert">&#215;</a>
  <div id="flash_alert">Must be logged in to access the admin area.</div>
</div>

我不确定问题是什么。相关信息如下:

  • 操作系统:Ubuntu 12.04 LTS(精确)x86 - 内置虚幻VM Ruby
  • 版本:2.0.0-p247
  • Rails版本:4.0.1

2 个答案:

答案 0 :(得分:5)

罗曼,谢谢你的帮助。我确保使用你的方法“硬编码”引导程序的导入,并且我自己修复了一个问题。

我用来在ERb中命名我的警报类的文档很旧。显然,他们将班级从alert-error更改为alert-danger,将班级更改为警报“错误”。我没有意识到从Bootstrap 2.x更改为3.x,哎呀。

不过,我会将你的答案标记为已被接受,因为它有助于解决问题。干杯!

答案 1 :(得分:1)

您应该在*= require bootstrap文件的顶部添加application.css。或者,正如bootstrap-sass documentation所说,您可以使用@import "bootstrap";代替。