我有一个链接到一些图像的 js 文件,但我无法让它工作。
我尝试过这样的 js 扩展...
case 0: var padImg = 'hs.png'; break;
case 0: var padImg = '/assets/hs.png'; break;
我将文件扩展名更改为 js.erb 并尝试了这个...
case 0: var padImg = '<%= asset_path 'hs.png' %>'; break;
然后我将图像移动到 js 文件夹,它最终像这样工作......
case 0: var padImg = 'hs.png'; break;
奇怪的是,它在我的开发环境中工作,但在生产环境中不起作用。为什么以及如何解决它?
最佳答案
此语法不正确
case 0: var padImg = '<%= asset_path 'hs.png' %>'; break;
它应该给出 JavaScript 错误。
尝试
case 0: var padImg = "<%= asset_path 'hs.png' %>"; break;
通常对于 JavaScript/CoffeeScript 和 ERB,您想要引用图像,例如
$('#logo').attr({
src: "<%= asset_path('logo.png') %>"
});
http://guides.rubyonrails.org/asset_pipeline.html
如果不是这样,那么生产服务器操作系统和 Web 服务器使用的是什么(如果与开发不同)?
这是唯一失败的 Assets 管道吗?
编辑
为了让 Apache\JBoss 在 CSS 中引用图像,我必须添加路径\war 名称
所以如果我的应用程序根目录是 localhost:3000/MyApp 那么要引用图像我必须这样做 url(/MyApp/images/hs.png)
如果你有 js.erb 你可以像上面那样做,如果你有 css.erb 你可以做 url(<%= asset_path 'hs.png' %>)
关于javascript - Rails 3. 链接到 javascript 文件中的图像在生产中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10826028/