javascript - Rails 3. 链接到 javascript 文件中的图像在生产中不起作用

标签 javascript ruby-on-rails ruby

我有一个链接到一些图像的 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/

相关文章:

javascript - 如何测试支持 javascript 和不支持 javascript 的场景?

mysql - 如何将数据库中的数据从字符串更改为 id - Rails,Mysql

ruby-on-rails - Rails 设计错误 "No route matches [GET] "/users/sign_out""

ruby - Mongoid:通过 has_many 多次引用同一模型

javascript - 在单个常量中使用 Object.keys()、map()、...Array()、reduce() 和 concat()

javascript - 当 foreach 绑定(bind)到字符串列表时如何访问字符串?

投票赞成/反对系统的 Javascript 错误

javascript - Telerik kendo ui 绘图 exportPDF 发送到服务器

mysql - 与多对多的关系

Ruby Kernel#autoload 和 Module#autoload 区别