2

LESS が提供する色操作を使用したいので、 less-rails gemをインストールしました。テーマのベースカラーとしてデータベースから色を抽出し、そこから構築する必要があります。

私は静的 CSS を持っており、その名前を styles.css.less に変更して、Rails がより少ない拡張機能を認識できるようにしました。

次に試したのは、ファイルを erb としてラップすることでした。うまくいけば、ルビ文字列リテラルが LESS に送信される前に処理され、最終的に有効な CSS として出力されるようになりました (まだ私と一緒ですか?)

ファイルの名前は style.css.less.erb になりました。シンプルなファイルには有効な CSS が含まれていますが、ドキュメントの処理は機能します。ルビ文字列リテラルを追加するとすぐに失敗します。

color: #{"#112233"};

Chrome デバッガーでは、この行以降は何も処理されません。

私は何を間違っているのでしょうか?

4

1 に答える 1

1

Chowlett がコメントで述べているように、erb 構文を使用する必要があります。<%= "#112233" %> 次のステップは、db からその値を取得することです。この色の値がアプリケーション全体である場合、おそらく db ソリューションで設定を探しています。そのためにrails-settings-cached gem を使用します。結果コードは次のようになります

color: <%= Setting.foo_color %>

運用環境でアセットを使用している場合は、設定を変更するたびに再コンパイルすることを忘れないでください。

また、それが設定ではなく、おそらく各ユーザーに固有のものである場合、そのためにアプリケーション全体の css ファイルを使用することはできませんが、ビューにインライン css を記述することはできます。

于 2012-04-13T12:15:58.930 に答える