【问题标题】:can i change a sass variable based on a rails config setting [duplicate]我可以根据 Rails 配置设置更改 sass 变量吗?
【发布时间】:2015-05-29 06:53:46
【问题描述】:

当网站从不同的域加载时,我希望我的网站更改一些基本颜色。

现在我在 Rails 初始化程序中设置了一堆配置值,如下所示:

if `hostname` == 'example1.org'
    set_plaoul_config
elsif `hostname` == 'example2.org'
    set_gracilis_config
elsif `hostname` == 'example3.org'
    set_wodeham_config
else
    set_plaoul_config
end

这里引用的函数会设置各种Rails.application.config设置,见下面sn-p:

Rails.application.config.biography = true
Rails.application.config.bibliography = true
Rails.application.config.timeline = true
Rails.application.config.about = true
Rails.application.config.blog = false

但我想知道是否有人能想到一种方法,我可以设置一个基本的配置设置来影响我的 sass 样式表中的全局 sass 变量。

例如:

Rails.application.config.dark-color = #BBCEBE

现在 /app/assets/stylesheets/application.css.sass 包含一些基本的主题变量,如下:

* site theme colors
$dark-color:                #BBCEBE
$light-color:               #E6EDE8
$text-color:                black
$text-bgcolor:              white

我希望有一种方法可以根据 Rails 应用程序初始化时设置的配置设置来更改这些变量的值。

例如,我希望我可以在我的 Sass 文件中这样做:

    $dark-color: Rails.application.config.dark-color

(我知道我不能这样做,我只是想说明我想要的行为)

对我来说,问题是我看不到将 Rails 信息传递给 Sass 的方法。

想法?

【问题讨论】:

标签: ruby-on-rails sass


【解决方案1】:

见:How can I use Ruby/Rails variables inside Sass?

只需将 .erb 添加到您的 sass 样式表文件名即可。然后照常使用变量:

<%= Rails.application.config.dark-color %> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-11
    • 2020-12-01
    • 2016-10-14
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    相关资源
    最近更新 更多