2012-04-25 10 views
0

私はrails-backboneを使用しています。したがって、EJS gem(rails-backboneにバンドルされています)経由でJSTテンプレートを使用しています。これは大きな問題ではありませんが、JSTテンプレートの空白はJSコンプレッサによって削除されません。したがって、明らかな問題は、jst.ejsテンプレートをアセットパイプラインで圧縮できるようにするにはどうすればよいですか?Rails 3.2と資産パイプラインを使用したJSTテンプレートの圧縮

ありがとうございました。

+0

あなたのテンプレートに '.jst.ejs'拡張子を追加しましたか?私のテンプレートが '.jst.ejs'の代わりに' .jst'だったとき、私はこの問題を抱えていました。 – MGA

答えて

1

私のソリューション:

# initializers/clean_ejs_template.rb 

require 'ejs' 

module EJS 
    class << self 
    def compile(source, options = {}) 
     source = source.dup 

     escape_quotes!(source) 
     #replace_interpolation_tags!(source, options) 
     #replace_evaluation_tags!(source, options) 
     escape_whitespace!(source) 

     # remove extra whitespace and newlines 
     source.gsub!(/\s{2,}|\\n/,'') 
     # use _.template instead 
     "_.template('#{source}')" 

     #"function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};" + 
     # "with(obj||{}){__p.push('#{source}');}return __p.join('');}" 
    end 
    end 
end 
関連する問題