1

compass_twitter_bootstrapを使用したいと思います。これが私がしたことです:

1)

私のGemfile:

gem 'compass'
gem 'compass-rails'
gem 'compass_twitter_bootstrap'

2)

configフォルダーの下の私のcompass.rb:

require 'compass_twitter_bootstrap'
project_type = :rails
http_path = "/"
css_dir = "public/stylesheets"
sass_dir = "public/stylesheets/sass"

3)

public / stylesheets / sassの下にscssファイルを作成し、@import"compass_twitter_bootstrap"を追加しました。ファイルの先頭にあります。

4)

また、stylesheet_link_tagをhtml.erbファイルに追加しました。

しかし、サーバーを実行すると、次のエラーが発生します。

構文エラー、インポートするファイルが見つからないか、読み取れません:compass_twitter_bootstrap

ロードパス:my_project_directory / public / stylesheets / sass
4

1 に答える 1

1

これは Rails アプリケーションですか、それとも Rails プラグインですか?

Rails プラグインの場合、この Stackoverflow questionは、Dummy アプリが Gemfile で探すものと関係があることを説明しています。基本的にgroup :assets、Rails アプリのように使用しないでください。その件については使用しないでくださいgroup __anything__

Bundler.require (test/dummy/config/application.rb の 5 行目) は引数を取らないため、グループ内のものは読み込まれません。これを、Rails.env グループ (つまり、:production または :development または :test のいずれか) と場合によっては :assets を取る Rails アプリの対応するコード行と比較してください。

もちろん、もう 1 つのオプションは、Bundler.require含めたい Gemfile 内の各グループに arg を渡すことです。これを行う場合は、必ず :default を含めてください。

11/29 の後半に追加:

明確にするために、エラーの本当の原因は、 @import ディレクティブが CSS と Sass で異なる意味を持っていることです。上記の私の回答は、ファイルを Sass として解析したいのに、なぜ CSS として解析されるのかという問題に実際に対処しています。Sass として解析するには、sass-rails gem を含める必要があります。上記の回答以外にも、これには他の理由がある可能性があります。したがって、Rails アプリを使用していて、Bundler が :assets グループに gem を含めているかどうかが問題ではない場合でも、sass-rails を使用する理由が他にある可能性があります。あなたが期待しているときに含まれていません。Gemfile をチェックして sass-rails があることを確認し、それがグループ内にある場合は移動してみて、状況が変わるかどうかを確認してください。

于 2012-11-29T17:17:53.187 に答える