3

が処理さmy.css.erb.scssれてからコンパイルされるビューファイルを呼び出すことができるようにしたいと考えています。ERBSCSS

たとえば、このファイル:

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

4

0 に答える 0