2012-04-10 27 views
2

私は現在、Rails 3.1と一緒に働いています。 1つのCSSファイルのみを使用する必要がありますが、問題を追加するとRails 3.1で単一のcssファイルにアクセスする方法は?

<link href="http://mydomain.net/assets/some.css"></link> 

は存在しません。私はその特定のCSSファイルからCSSファイルを取得する必要があり、他のCSSファイルはロードされません。

これをRails 3.1でどうやって行うのですか?

更新:

はproduction.rbするためにこれを追加する:

config.assets.precompile += ['some.css'] 

は、次のエラーが発生します。

** [out :: domain.net] rake aborted! 
** [out :: domain.net] stack level too deep 
** [out :: domain.net] (in /home/deployer/apps/domain/releases/20120410204601/app/assets/stylesheets/some.css.scss) 
** [out :: domain.net] 
** [out :: domain.net] Tasks: TOP => assets:precompile:primary 
** [out :: domain.net] (See full trace by running task with --trace) 

更新#2:

some.cssのファイル名実際にsome.css.scssです。

更新#3:

私は問題を発見し、それがこのによって引き起こされる:

https://github.com/rails/sass-rails/issues/78

+0

「some.css」はどのフォルダにありますか?私はそれを試して、それは私のアプリで正常に動作しています。 –

+0

これは 'assets/stylesheets'フォルダにあります。私は生産中であることに注意してください。 –

答えて

7

プロダクション環境では、すべてのアセットをプリコンパイルする必要があります。つまり、静的ファイルに変換して/publicにコピーする必要があります。

app/assetsのすべての個別ファイルは、プリコンパイルされていないため、直接アクセスできません。あなたは

rake assets:precompile 

を実行したときにあなたの個別のCSSファイルがasset pipeline documentationによると、プリコンパイルされていません。

If you have other manifests or individual stylesheets and JavaScript files to include, you can add them to the precompile array:

だからあなたのために、あなたのCSSファイルの先頭にマニフェストヘッダを追加します。

/* 
*= require_self 
*/ 

さらに設定を追加してください:

config.assets.precompile += ['some.css'] 

は、その後、あなたの資産をプリコンパイルし、いつものようにあなたのCSSファイルにアクセスします。@Thorpe Obazeeによって

<%= stylesheet_link_tag 'some' %> 

編集

のみSASS-レールは3.1.5がすべての問題を持っていなかった場合の答えは基本的に正しいですか。だから私は答えを受け入れた。

https://github.com/rails/sass-rails/issues/78

+0

これは、展開時にエラーが発生します。これをproduction.rbに追加すると 'stack level too deep'となります。' config.assets.precompile + = ['some.css'] ' –

+0

私はマシンで問題なくテストしました。このエラーは非常に大きいです、私は詳細なしであなたを助けることができません。 –

+0

あなたは英雄のあなたのウェブサイトを設定していますか? – Ashitaka

0

あなたはあなたの資産フォルダにスタイルシートを追加する必要があります。次に、スタイルシートを読み込むには、

<%= stylesheet_link_tag "some", :media => "all" %> 

を使用してください。

関連する問題