我正在使用Rails 3.1,并试图用两个模板处理程序处理文件。由两个模板处理程序处理文件
那么,我已经为.scss文件注册了一个新的模板处理程序。现在要处理这样的一个文件:
应用程序/视图/ custom_css/stylesheet.css.scss.erb
通过2个模板处理程序。第一个ERB和之后的SCSS。这样我们就可以拥有动态的scss文件。
我想这个模板处理程序:
class ActionView::Template::Handlers::Sass
def initialize options = {}
@options = options
end
def erb_handler
@erb_handler ||= ActionView::Template.registered_template_handler(:erb)
end
def call template
source = erb_handler.call(template)
<<CODE
compiler = Compass::Compiler.new *Compass.configuration.to_compiler_arguments
options = compiler.options.merge(#{@options.inspect})
Sass::Engine.new(source, options).render
CODE
end
end
然而,在这种情况下源等于这个:
"@output_buffer = output_buffer || ActionView::OutputBuffer.new;@output_buffer.safe_concat('$background_color: \"#ff0000\";\n\n$test: ');@output_buffer.append= ('test');@output_buffer.safe_concat(';\n\n.container {\n background-color: $background_color;\n}\n');@output_buffer.to_s"
,我不能轻易只提取 “的真正来源。”
任何想法如何做到这一点?
预先感谢您!
您是否找到解决方案?因为我试图做这样的事情,但我无法得到“真正的”来源。 – basgys