我有一些由 Rails 资产管道处理的文件.js.coffee.erb文件。我的 ERB 代码返回了一些无法被 Coffee 解析的字符串,导致 SyntaxError 异常。我想查看生成的somefile.js.coffee文件,或者一般来说资产管道处理的任何中间文件。
我试图检查 Sprockets 但没有运气:
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 答案,因为它会生成咖啡编译器看到的咖啡脚本文件。