何らかの理由で、sass がカスタム関数を実行していません。アプリ内でそれを使用する他のルビーコードがあるため、環境変数が定義され、機能しています。SASSが機能を実行していない理由がわかりません。私はあなたの助けに感謝します。
application.rb ファイルにカスタム sass メソッドがあります。
module Sass::Script::Functions
def get_env
Sass::Script::String.new(ENV['THE_ENV'])
end
declare :get_env, args: []
end
THE_ENV
環境変数は application.yml ファイルで定義されています。
私のapplication.sassファイルには次のものがあります.常に#d71f2bを設定しています:
$primary_color: #d71f2b
@if get_env() == "xyz"
$primary_color: #39A163
@else
$primary_color: #d71f2b
Gemfile.lock には以下が含まれます。
sass (3.4.22)
sass-rails (5.0.4)
railties (>= 4.0.0, < 5.0)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)