8

アセットパイプラインでRails3.1とSCSSを使用しています。SCSSファイルのRailsヘルパーまたはコントローラーデータにアクセスする方法はありますか?何かのようなもの...

#main {
   background-color: #{current_user.preferences.background_color}
}

自分で設定できることはわかって$variablesいますが、コントローラーのデータからどのようにデータを入力するかわかりません。

4

2 に答える 2

8

私の知る限り、これはAssetPipelineが設計された目的ではありません。

考えてみてください。すべてのファイルを静的ファイルrake assets:precompileに変換するコマンドがあります。.scss.erb.css

では、どうすればcurrent_userその.scss.erbファイルのような変数にアクセスできるでしょうか。

私の意見では、.scss.erbまたはでコントローラー変数を取得することはできません.coffee.erb

于 2011-07-03T08:56:20.397 に答える
7

Rails 3.1でテンプレートプロセッサをチェーンできるので、my.css.scss.erbを実行してから、次のように変数を埋め込むことができます。

$user-background-color: <%= current_user.preferences.background_color %>

次に、SCSS全体でSass変数を使用できます。

Rails 3.0でこの問題を解決するために、別のアプローチを取りました。ユーザー指定の色でSASSを使用する

于 2011-06-16T14:43:55.293 に答える