所以我们在资产管道摘要方面遇到了一个小问题,因为我们有许多HTML模板作为资产(用于AngularJS),并且我们在Javascript文件中使用
所以基本上,在像
当我们运行
更新:目前我所知的最好的解决方案是,如果需要更改HTML模板资产但没有更改任何JavaScript,则在application.rb中更新资产版本。
asset_path
助手引用这些资产的路径。不幸的是,由于资产预编译步骤(和Heroku)检查更改的方式,对模板进行更改不会导致重新编译Javascript文件。所以基本上,在像
application.coffee.erb
这样的文件中,我们可能会有类似以下内容的东西:url = '<%= asset_path('views/template.html') %>'
当我们运行
rake assets:precompile
时,它会变成/assets/views/template-1023911231.html
,其中包含摘要值,但如果更改template.html.slim
,则摘要将更改,但由于application.coffee.erb
没有根本性的更改,因此不会重新编译,并继续指向旧的摘要。您有什么想法或解决方案吗?实际上,这似乎是一个错误。更新:目前我所知的最好的解决方案是,如果需要更改HTML模板资产但没有更改任何JavaScript,则在application.rb中更新资产版本。
depend_on
(或其类似物depend_on_asset
)。请记得将依赖声明放在文件顶部(在第一个非空白代码行之前)。 - Domiasset_path
调用根本没有返回指纹。添加//= depend_on_asset
也没有帮助。你是否需要添加任何特殊配置才能首先使用指纹? - hunterosdepends_on_asset
很重要,否则当指纹处理更改时,Rails 将不会重新编译 JS 文件。如果您根本没有得到任何指纹处理,那么可能有其他问题。 - Chris Nicola