【问题标题】:Rails erb preprocessing not happening in development modeRails erb 预处理未在开发模式下发生
【发布时间】:2012-11-14 10:09:26
【问题描述】:

不管出于什么原因,第一次尝试动态样式时,我在下面一行得到了一个 Sass::SyntaxError。看起来 erb 没有被预处理。

/* app/assets/stylesheets/variables.css.scss.erb */

$headerHeight: <%= '15px' %>;

它处于开发模式。知道是什么原因造成的吗?

以下是我与资产相关的配置选项,以防万一:

# Application
config.assets.enabled = true
config.assets.initialize_on_precompile = true
config.assets.version = '1.1'

# Development
config.assets.compress = false
config.assets.debug = false

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 asset-pipeline erb sass


    【解决方案1】:

    scss 需要在 15px 部分加上引号。所以你需要做到:

    $headerHeight: "<%= '15px' %>";
    

    【讨论】:

    • 似乎工作,但你绝对不需要引号将变量分配给常量,即这工作$headerHeight: 35px;所以它有趣的erb需要引号
    • 抱歉,确认一下,不会评估。检查你的 CSS,无论你在哪里使用该变量,它都会显示 '""'。
    • 我遇到了同样的问题here。你能找到让 ERB 处理 SCSS 样式表的方法吗?
    【解决方案2】:

    这是一个sass-rails 错误,正如here 所讨论的那样。

    我有same question,发现解决方案是安装sass-rais-path

    这使 Rails 可以按预期工作 SASS + ERB。无需使用引号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-28
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多