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
感谢任何帮助或想法提前!
答
我找到了解决方案。
遵循此要点:https://gist.github.com/827572您可以轻松注册一个:scss模板处理程序!
但是,这里来另一个showstopper :) - 处理由多个模板处理程序的文件。我会为此提出新的问题。
你能否提供一些关于为什么需要将值传递给CSS的更多信息?你想达到什么目的?有一些替代(更清洁)的方法可以避免与处理程序混淆(我不能直接回答问题!)。 –
“最终目标是拥有动态的scss文件”。例如。我们可以为网站设计用户特定的布局和颜色样式,这些样式可以存储在数据库中。 –