我可以根据 rails 配置设置更改 sass 变量吗
can i change a sass variable based on a rails config setting
我希望我的网站在从不同域加载时更改一些基本颜色。
现在我正在 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 的方法。
想法?
参见:How can I use Ruby/Rails variables inside Sass?
只需将 .erb 添加到您的 sass 样式表文件名中。然后正常使用变量:
<%= Rails.application.config.dark-color %>
我希望我的网站在从不同域加载时更改一些基本颜色。
现在我正在 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 的方法。
想法?
参见:How can I use Ruby/Rails variables inside Sass?
只需将 .erb 添加到您的 sass 样式表文件名中。然后正常使用变量:
<%= Rails.application.config.dark-color %>