0

コンパイル時に CSS ファイルで Ruby コードを使用し、それを静的アセットにしてから、後で縮小する可能性があります。これどうやってするの?

4

1 に答える 1

1

Rails 3.1+ のアセット パイプラインは、ファイル名に基づいて一連のプリプロセッサを介してアセットを送信します。たとえば、 がある場合stylesheet.css.scss、ファイルは SASS プロセッサを介して送信され、CSS に変換されます。

楽しみは、複数のプロセッサを介してアセットを送信するために、拡張機能をチェーン化するところから始まります。あなたの場合、アセットstylesheet.css.scss.erbに名前を付けて、最初にERBを介して送信し、次にSASSを介して送信できます。これがどのように見えるかの小さな例を次に示します。

.some_class {
  background-image: url(<%= asset_path('image.png') %>);
  color: <%= some_ruby_code_to_generate_a_color %>;
}

<%= %>したがって、通常の ERB ビュー テンプレートの場合と同様に、アセットのコンパイル時 (またはプリコンパイル時) に実行されるRuby コードをタグ間に挿入するだけで済みます。

縮小に関しては、いくつかの設定オプションを介してアセット パイプラインによって単純に処理されるものです。詳しくは、アセット パイプラインのRails ガイドをご覧ください。

于 2012-11-26T16:07:19.023 に答える