如何查看资产管道处理的中介文件?
我有这是由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处理。
不知你是否可以把<% binding.pry %>
只是线和乱绕前,直到你得到它的权利。在编译期间从未尝试过,并且不要使用coffeescript。理论上,只要您将gem pry
放入您的Gemfile中,并且首先运行bundle
,它就可以工作(或值得一试)。
越简单越好!谢谢。 我已经结束了自己使用硬评论###和ERB代码里面,但这更好,因为它会产生整个文件,因为它会被咖啡编译器看到。 – Kangur 2013-03-19 14:26:56