が処理さmy.css.erb.scss
れてからコンパイルされるビューファイルを呼び出すことができるようにしたいと考えています。ERB
SCSS
たとえば、このファイル:
h1 { color: <%= 'red' %>; }
次のようになります。
h1 { color: red; }
現在、私が見つけた唯一の解決策は、ちょっとしたごちゃごちゃしたものであり、私はそれが好きではありません (仕様でこの方法を使用してレンダリングするのは難しいことが証明されています):
lib/renders.rb
:
ActionController.add_renderer :css do |template,options|
string = render_to_string template, options
css = Sass::Engine.new(string, :syntax => :scss).render
self.content_type ||= Mime::CSS
self.response_body = css
end
次に、コントローラーでこれを行う必要があります。
respond_to do |format|
format.css { render :css => params[:action] }
end
ActionView::Template::Handler
メソッドを使用してモジュールメソッドを介してレンダラーを登録しようとしましたが、レンダリングする.call
ことができませんでしたERB
。