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

时间:2013-03-19 09:34:25

标签: ruby-on-rails asset-pipeline sprockets

我有 somefile.js.coffee.erb 文件,由Rails资产管道处理。我的ERB代码返回一些咖啡无法解析的字符串,导致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() %>
###

Altough我建议使用@Semyon Perepelitsa答案,因为它生成咖啡脚本文件,因为咖啡编译器会看到它。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我想知道你是否可以把<% binding.pry %>放在线前,然后把它弄得一团糟,直到你做对了。从未在编译过程中尝试过,也不要使用coffeescript。从理论上讲,只要你将gem pry放在你的Gemfile中并首先运行bundle,它应该可以工作(或者值得一试)。