Rails3:如何注册scss模板处理程序

问题描述:

我很感兴趣如何在Rails 3.1中注册.scss模板处理程序。我知道我已经可以在app/assets目录中使用.scss文件,但是我需要访问应用程序环境和实例变量。Rails3:如何注册scss模板处理程序

我试图做这样的事情(的最终目标是拥有动态SCSS文件):

file: app/views/css/layout.css.scss.erb 

$site_width = <%= @site.width %>px; 

.container { width: $site_width; } 

“问题”与资产目录是我们没有进入应用程序环境。

我试图实现这种方式,但它是不正确的做法:)

file: initializers/scss_template_handler.rb 

ActionView::Template.register_template_handler :scss, Sass::Rails::ScssTemplate.new 

感谢任何帮助或想法提前!

+0

你能否提供一些关于为什么需要将值传递给CSS的更多信息?你想达到什么目的?有一些替代(更清洁)的方法可以避免与处理程序混淆(我不能直接回答问题!)。 –

+0

“最终目标是拥有动态的scss文件”。例如。我们可以为网站设计用户特定的布局和颜色样式,这些样式可以存储在数据库中。 –

我找到了解决方案。

遵循此要点:https://gist.github.com/827572您可以轻松注册一个:scss模板处理程序!

但是,这里来另一个showstopper :) - 处理由多个模板处理程序的文件。我会为此提出新的问题。