我可以根据rails配置设置更改sass变量

时间:2015-03-25 14:26:49

标签: ruby-on-rails sass

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

现在我在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设置,请参阅下面的代码段:

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的方法。

想法?

1 个答案:

答案 0 :(得分:1)

请参阅:How can I use Ruby/Rails variables inside Sass?

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

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