2011-12-03 9 views
3

私はRails 3.1を使用しています。資産/スタイルシートに.cssと.scssファイルがたくさんあります。railsが.cssファイルをプリコンパイルしようとしている理由

Railsが.cssファイルをプリコンパイルしようとしていると、彼らは次のメッセージを爆破するようだ:私は.cssファイルと私はGemfileからSASS-レールの宝石をコメントアウトした場合、その後のすべての作品のみを持っている場合は

Invalid CSS after "...{padding-bottom": expected "{", was ";0;}#order_deta..." 

group :assets do 
    #gem 'sass-rails', '~> 3.1.4' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

は、だから今の質問は、私は、資産のプリコンパイルと仲良くする.scssにすべての私の.cssを変換する必要がありますされまたは回避策はありますか?

アップデート:ここで

が私のコードです:

config.assets.paths << "#{Rails.root}/app/themes/vanilla/assets/stylesheets" 
config.assets.paths << "#{Rails.root}/app/themes/vanilla/assets/javascripts" 
config.assets.paths << "#{Rails.root}/app/themes/vanilla/assets/images" 
config.assets.precompile += ['vanilla.css', 'vanilla.js'] 

vanilla.cssは次のようになります。

/* 
* This is a manifest file that'll automatically include all the stylesheets available in this directory 
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at 
* the top of the compiled file, but it's generally better to create a new file per style scope. 
* 
*= require 'reset' 
*= require 'vroom' 
*= require_self 
*/ 

ここでリセットがreset.cssあるとVROOMはvroom.css.scssです

Invalid CSS after "...{padding-bottom": expected "{", was ";0;}#order_deta..." 
(in .........../stylesheets/vanilla.css) 

このエラーは、Railsがreset.cssをプリコンパイルしようとしているために発生しています。

sass-rails gemとすべての.scssファイルを削除すると、rake assets:precompileが動作します。

+0

後で 'sass-rails'を使用する予定ですか?もしそうでなければ、そのコメントは最善のアプローチだと思われます。 – marcio

+1

しかし、私が言ったように、いくつかの.cssファイルといくつかの.scssファイルがあります。私は.scss用のサスレールが必要です。 sass-railsに.cssをコンパイルしないように伝えるのは簡単だと思われます。私は何かを欠いているに違いない。 –

+0

例外をスローしているファイルの拡張機能とは何ですか? cssとscssの両方を問題なく同時に使用できるはずです。 – Nick

答えて

4

ファイルを変換する必要はありません。 SCSSプロセッサは、SCSSとして処理されていなくても、CSSファイルの構文をチェックしています。

不平を言っている行をよく見てください。これの代わりに

 
{padding-bottom;0;} 

 
{padding-bottom:0;} 
おそらく代わりにコロン(:)

の属性と値の間に、この;()エラーは、セミコロンを持っていることを言っているように見えます

gemを削除すると、構文チェックが削除されるので、ファイルはそのままコンパイルされます。

+0

私はあなたに従っていません。宝石を取り除いたら、reset.cssとvroom.css.scssを組み合わせてvanilla.cssを作ります。 –

+0

宝石を取り外す必要はありません。 SASS gemは、CSSにいくつかの構文拡張を追加するだけです。パイプラインは引き続きファイルを結合します。あなたが持っているように見えるのは、CSSの構文エラーです。 –

1

私は同じ問題を抱えており、解決策を見つけました!私の場合は

が、私はこの行を持っていた:

@import "bootstrap" 

私がしなければならなかったすべては、セミコロンに

@import "bootstrap"; 

小さいが致命的な間違いを追加しました!

関連する問題