我在heroku上的某些资产有问题。(本地环境运行良好)资产正在准备中。如果我在heroku rails控制台中执行:
helper.asset_path("typicons.woff")
helper.asset_path("backgrounds/1.jpg")
我得到以下回应:
/assets/typicons-c2430aad2b6a33948dc064cfaee8ad65ff9e3ca439834f3aaa84abec3d10dea8.woff
/assets/backgrounds/1-c2098ff7e7fbb89b2d18e9cd9089f712f2b837265d1d2e4182c36c23392760c6.jpg
因此,我假设资产位于heroku资产管道中。通过直接打开带有摘要的url,我也收到了文件。
但是,如果我尝试像这样在css或javascript中引用文件:
$('.top-content').backstretch("/assets/backgrounds/1.jpg");
该文件未加载。同样,直接打开/assets/backgrounds/1.jpg也行不通。从.rb或.erb文件引用资源有效。
有人可以告诉我,我必须更改哪种配置,因此资产的URL在没有摘要的情况下也能正常工作?
谢谢!
假设您使用的是相当标准的资产管道设置,那么Rails指南中的这一段内容应该会有所帮助:
如果将erb扩展名添加到JavaScript资产中,使其成为诸如application.js.erb之类的东西,则可以在JavaScript代码中使用asset_path帮助器:
-http : //guides.rubyonrails.org/asset_pipeline.html(第2.3.3节)
在您的示例中,将erb
扩展名添加到您的JS文件中,然后将行更改为
$('.top-content').backstretch(<%= asset_path("backgrounds/1.jpg") %>);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句