如何查看资产管道处理的中介文件?

问题描述:

我有这是由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目录\缓存\资产但也有仅预处理文件,通过指纹名additionaly模糊。

也许有一种方法挂钩到资产的管道,我不知道如何..

为什么我需要再培训局?使用KnockoutJS生成与字段和验证匹配的Rails模型的客户端模型存根(https://github.com/dnagir/knockout-rails extended - >https://github.com/KrzysztofMadejski/knockout-rails)。

我使用的Rails '〜> 3.2.12',链轮(2.2.2)。

编辑:我已经结束了在注入###评论ERB代码,在生成的代码偷偷高峰,而CoffeeScript的文件仍然编译:

### 
<%= somefun() %> 
### 

Altough我会建议使用@Semyon Perepelitsa的答案是咖啡编译器可以看到咖啡脚本文件。

单从文件扩展名暂时删除“咖啡”:somefile.js.erb。您将在/assets/somefile.js中看到它的中间状态,因为它不会由CoffeeScript处理。

+0

越简单越好!谢谢。 我已经结束了自己使用硬评论###和ERB代码里面,但这更好,因为它会产生整个文件,因为它会被咖啡编译器看到。 – Kangur 2013-03-19 14:26:56

不知你是否可以把<% binding.pry %>只是线和乱绕前,直到你得到它的权利。在编译期间从未尝试过,并且不要使用coffeescript。理论上,只要您将gem pry放入您的Gemfile中,并且首先运行bundle,它就可以工作(或值得一试)。