【发布时间】:2013-03-19 09:34:24
【问题描述】:
我有 somefile.js.coffee.erb 文件,该文件由 Rails 资产管道处理。我的 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)。
编辑:我最终在### cmets 中注入了erb 代码,以便在coffeescript 文件仍在编译时偷偷查看生成的代码:
###
<%= somefun() %>
###
尽管我建议使用@Semyon Perepelitsa 答案,因为它会生成咖啡编译器看到的咖啡脚本文件。
【问题讨论】:
标签: ruby-on-rails asset-pipeline sprockets