0

非常に単純な一連のテスト (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)>'

ブートストラップを必要とする方法:

  1. ブートストラップを gemfile にインポートしgem 'bootstrap-sass', '2.3.2.0'ます。
  2. custom.css.sass ファイルで必要です: @import "bootstrap";.
  3. application.css ファイルで必要です。 *= require_self *= require_tree .

また、私のサイトはブートストラップのスタイリングで正しくレンダリングされます。

4

2 に答える 2

1

Rails 3.x から 4 にアップグレードしてもgroup :assets dogemfile にブロックが残っている場合、この問題が発生することがあります。Rails 4 では、アセット グループを削除する必要があります。

「group :assets do」と「end」が存在する場合は、gemfile から削除します。

group :assets do
gem 'bootstrap-sass'
end

このエラーが発生した他の人は、サーバーを再起動するだけで修正できましたが、プルリクエストでここに文書化されているように、 lib/bootstrap-sass.rb ファイルに小さな変更を加えて同じエラーを修正できた人もいます。

于 2013-11-04T04:20:38.740 に答える
0

Rails 4 でも同じ問題が発生しました。「bootstrap」と「bootstrap-sprockets」を scss ファイルにインポートすると、HTML ページは正常に動作しましたが、rake テストに失敗しました。

次のように、gemfile のグループ :test および :development に gem 'bootstrap-sass' を追加しました。

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

これが最善の解決策かどうかはわかりませんが、私にとってはうまくいきます。

于 2016-01-21T18:47:32.290 に答える