2

私は現在Rails 3.1で作業しています。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

4

2 に答える 2

7

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

本番環境では、プリコンパイルされていないため、のすべての個々のファイルにapp/assets直接アクセスすることはできません。実行時に、個々のcssファイルはプリコンパイルされません

rake assets:precompile

アセットパイプラインのドキュメントによると:

他のマニフェストまたは個々のスタイルシートとJavaScriptファイルを含める場合は、それらをプリコンパイル配列に追加できます。

したがって、cssファイルの先頭にマニフェストヘッダーを追加します。

/*
 *= require_self
 */

次に、構成を追加します。

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

次に、アセットをプリコンパイルし、通常どおりcssファイルにアクセスします。

<%= stylesheet_link_tag 'some' %>

@ThorpeObazeeによる編集

sass-rails 3.1.5だけに問題がなければ、答えは本質的に正しいです。だから私は答えを受け入れました。

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

于 2012-04-10T19:35:39.643 に答える
0

スタイルシートをアセットフォルダに追加する必要があります。次に、

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

スタイルシートをロードします。

于 2012-04-10T19:03:03.263 に答える