Railsアセットパイプラインによって処理されるsomefile.js.coffee.erbファイルがあります。私のERBコードは、Coffeeで解析できない文字列を返し、SyntaxError例外が発生します。生成されたsomefile.js.coffeeファイル、または一般にアセットパイプラインによって処理される中間ファイルを確認したいと思います。
私は運が悪かったスプロケットを調べようとしました:
environment = Sprockets::Environment.new
MyApplication::Application.config.assets.paths.each {|p| environment.append_path p}
rerb = environment['somefile.js.coffee.erb']
rerb.source #=> it's already preprocessed
または、\ tmp \ cache \ Assetsを調べますが、前処理されたファイルのみがあり、フィンガープリントされた名前によってさらに隠されています。
たぶん、アセットパイプラインに接続する方法があります。方法がわかりません。
なぜERBが必要なのですか?KnockoutJS( https://github.com/dnagir/knockout-rails extended-> https://github.com/KrzysztofMadejski/knockout-rails )を使用して、Railsモデルに一致するフィールドと検証を含むクライアント側モデルのスタブを生成します。
Rails'〜> 3.2.12'、スプロケット(2.2.2)を使用しています。
編集:私は###コメントにerbコードを挿入して、coffeescriptファイルがまだコンパイルされている間に生成されたコードをスニークピークすることになりました:
###
<%= somefun() %>
###
@Semyon Perepelitsaの回答を使用することをお勧めします。これは、コーヒーコンパイラで表示されるコーヒースクリプトファイルを生成するためです。