Rails - 测试失败,不包括bootstrap

时间:2013-11-03 23:07:25

标签: ruby-on-rails asset-pipeline gemfile

我有一组非常简单的测试(来自Rails教程),但所有测试都因此错误而失败:

File to import not found or unreadable: bootstrap

任何想法发生了什么?

以下详细信息==================================

示例测试:

  describe "Help page" do
    it "should have the content 'Help'" do
        visit '/static_pages/help'
        expect(page).to have_content('Help')
    end
    # Title test.
      it "should have the right title" do
        visit '/static_pages/help'
        expect(page).to have_title("#{base_title} | Help")
      end
  end

测试失败消息:

8) Static pages Home page should have the base title
     Failure/Error: visit '/static_pages/home'
     ActionView::Template::Error:
       File to import not found or unreadable: bootstrap.
       Load paths:
         /Users/donald/Projects/rails_projects/sample_app/app/assets/images
         /Users/donald/Projects/rails_projects/sample_app/app/assets/javascripts
         /Users/donald/Projects/rails_projects/sample_app/app/assets/stylesheets
         /Users/donald/Projects/rails_projects/sample_app/vendor/assets/javascripts
         /Users/donald/Projects/rails_projects/sample_app/vendor/assets/stylesheets
         /Users/donald/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/turbolinks-1.1.1/lib/assets/javascripts
         /Users/donald/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/jquery-rails-3.0.4/vendor/assets/javascripts
         /Users/donald/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/gems/coffee-rails-4.0.1/lib/assets/javascripts
         (in /Users/donald/Projects/rails_projects/sample_app/app/assets/stylesheets/custom.css.scss:1)
     # ./app/assets/stylesheets/custom.css.scss:1
     # ./app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__1482688987114081587_70170540160220'
     # ./spec/requests/static_pages_spec.rb:14:in `block (3 levels) in <top (required)>'

我如何需要Bootstrap:

  1. 我在gemfile gem 'bootstrap-sass', '2.3.2.0'中导入bootstrap。
  2. 我在custom.css.sass文件中要求它:@import "bootstrap";
  3. 我在application.css文件中要求它:*= require_self *= require_tree .
  4. 我的网站使用bootstrap的样式正确呈现。

2 个答案:

答案 0 :(得分:1)

如果某些人从rails 3.x升级到4并且他们的gemfile中仍然有group :assets do块,则会遇到此问题。在轨道4 you have to get rid of the assets group

从gem文件中删除“group:assets do”和“end”(如果存在)。

group :assets do
gem 'bootstrap-sass'
end

有这个错误的其他人只需重新启动服务器就可以修复它,还有一些人能够通过对lib / bootstrap-sass.rb文件的一个小改动来修复同样的错误,如同documented here一样。拉请求。

答案 1 :(得分:0)

我在rails 4中遇到了同样的问题。我已经将“bootstrap”和“bootstrap-sprockets”导入到我的scss文件中,并且HTML页面工作正常,但是rake测试失败了。

我已经将gem'bootstrap-sass'添加到了group:test和:我的gemfile中的开发,如下所示:

group :assets, :test, :development do gem 'bootstrap-sass', '2.3.2.0 end

我不知道这是否是最佳解决方案,但它对我有用。