导入" bootstrap"时Ruby on Rails错误

时间:2014-05-09 17:29:07

标签: css ruby-on-rails twitter-bootstrap

我是ruby on rails的新手,目前正在关注Michael Hartl的教程,不幸的是当我尝试调用custom.css.scss文件中的@import "bootstrap";时,第五章陷入困境。

我收到以下错误:

Sprockets::Rails::Helper::AssetFilteredError in StaticPages#home
  Showing /Users/name/Documents/Rails_projects/sample_app/app/views/layouts    /application.html.erb where line #5 raised:
Asset filtered out and will not be served: add `Rails.application.config.assets.precompile += %w( glyphicons-halflings.png )` to `config/initializers/assets.rb` and restart your server
      (in /Users/name/Documents/Rails_projects/sample_app/app/assets/styleshee
/custom.css.scss)
     Extracted source (around line #5):

line 5:    stylesheet_link_tag    "application", media: "all"

梳理了互联网后,我尝试了以下解决方案,其中没有一个有效

  1. 上面提供的assets.rb文件建议
  2. 使用control + c
  3. 重新启动服务器
  4. 将gem文件'bootrap-sass'移动到gem文件中的部分 产品中不需要的资产
  5. 将application.css文件的扩展名更改为 application.css.scss
  6. 直接调用@import“bootstrap”;在application.css.scss中 文件
  7. 向config.ru添加以下内容:require'bootstrap-sass'#require bootstrap-sass声明
  8. 这些都是我在网上找到的解决方案,但都没有效果。

    感谢任何帮助!

    谢谢!

2 个答案:

答案 0 :(得分:2)

不知道你是否能够解决问题,但这就是我做的事情。

错误

Asset filtered out and will not be served: add `Rails.application.config.assets.precompile += %w( glyphicons-halflings.png )` to `config/initializers/assets.rb` and restart your server

告诉你实际放

Rails.application.config.assets.precompile += %w( glyphicons-halflings.png )

中的

config/initializers/assets.rb路径

在我这样做之后,我又遇到了类似的错误,但这次又添加了另一行。

Rails.application.config.assets.precompile += %w( glyphicons-halflings-white.png )

现在,您还需要确保路径@import "bootstrap";目录中application.css文件中的app/assets/stylesheets/行,并将文件重命名为application.css.scss

将这些放在Rails.application.config.assets.precompile文件中的config/initializers/assets.rb行之后,然后重新启动服务器,它实际上对我有效。希望它有所帮助!

答案 1 :(得分:-2)

将引导程序与Rails 4.x集成的另一种方法是:

下载您想要的引导程序版本。解压缩文件并将其保存在本地计算机中。然后将文档移动到资产管道中的相关文件夹。像这样:

将所有javascript文件(文件扩展名以.js结尾)移至app/assets/javascripts

将所有css文件(文件扩展名以.css结尾)移至app/assets/stylesheets

将所有图片移至app/assets/images

app/assets/stylesheets内,创建一个客户文件custom.css。您可以使用该文件来覆盖bootsrap功能。您不需要@import方法。 您也无需在Gemfile中添加宝石。只需下载您想要的bootstrap版本,然后按照上面的说明操作。

我相信该教程使用bootstrap 2.3