我正在使用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