【问题标题】:Rails Sass Custom Method Not Being RanRails Sass 自定义方法未运行
【发布时间】:2019-02-21 18:57:55
【问题描述】:

由于某种原因,sass 没有运行我的自定义函数。环境变量已定义并正在工作,因为我有其他在应用程序中使用它的 ruby​​ 代码。我只是无法弄清楚为什么 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)

【问题讨论】:

    标签: ruby-on-rails sass ruby-on-rails-4.2 sass-rails


    【解决方案1】:

    我想通了。我的 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
    

    【讨论】:

      猜你喜欢
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      相关资源
      最近更新 更多