アセットパイプラインでRails3.1とSCSSを使用しています。SCSSファイルのRailsヘルパーまたはコントローラーデータにアクセスする方法はありますか?何かのようなもの...
#main {
background-color: #{current_user.preferences.background_color}
}
自分で設定できることはわかって$variables
いますが、コントローラーのデータからどのようにデータを入力するかわかりません。
アセットパイプラインでRails3.1とSCSSを使用しています。SCSSファイルのRailsヘルパーまたはコントローラーデータにアクセスする方法はありますか?何かのようなもの...
#main {
background-color: #{current_user.preferences.background_color}
}
自分で設定できることはわかって$variables
いますが、コントローラーのデータからどのようにデータを入力するかわかりません。
私の知る限り、これはAssetPipelineが設計された目的ではありません。
考えてみてください。すべてのファイルを静的ファイルrake assets:precompile
に変換するコマンドがあります。.scss.erb
.css
では、どうすればcurrent_user
その.scss.erb
ファイルのような変数にアクセスできるでしょうか。
私の意見では、.scss.erb
またはでコントローラー変数を取得することはできません.coffee.erb
。
Rails 3.1でテンプレートプロセッサをチェーンできるので、my.css.scss.erbを実行してから、次のように変数を埋め込むことができます。
$user-background-color: <%= current_user.preferences.background_color %>
次に、SCSS全体でSass変数を使用できます。
Rails 3.0でこの問題を解決するために、別のアプローチを取りました。ユーザー指定の色でSASSを使用する