Пользовательский метод Rails Sass не запускается - PullRequest
0 голосов
/ 17 сентября 2018

По какой-то причине sass не запускает мою пользовательскую функцию. Переменная окружения определена и работает так, как у меня есть другой код ruby, который использует его в приложении. Я просто не могу понять, почему SASS не выполняет эту функцию. Я ценю вашу помощь.

У меня есть собственный метод sass, расположенный в файле application.rb:

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)

1 Ответ

0 голосов
/ 17 сентября 2018

Я понял это.Мой файл application.yml показывает THE_ENV: xyz.Код sass ruby ​​ищет "xyz", включая кавычки.Я удалил кавычки из инструкции sass ruby ​​if / else, и это сработало.Так это выглядит так:

$primary_color: #d71f2b
@if get_env() == xyz
  $primary_color: #39A163
@else
  $primary_color: #d71f2b
...