我有一个基于JQueryMobile的Rails应用程序运行得很好,但我一直看到以下内容显示在日志中,我不知道如何摆脱它:
No route matches [GET] "/assets/images/ajax-loader.gif")
我实际上已经在 /app/assets/images/ajax-loader.gif 中获得了我的ajax-loader。此外,我很确定应用程序不应该尝试访问该文件,因为我在应用程序中也有以下JavaScript:
$(document).bind("mobileinit", function()
$.mobile.ajaxEnabled = false;
});
我做错了什么?谢谢你的帮助!
答案 0 :(得分:2)
这没有错,对文件的请求是通过以下jqm css
进行的.ui-icon-loading{background:url("images/ajax-loader.gif");background-size:2.875em 2.875em;}
,绝对路径将相对于您当前的jqm css路径请求。因此404。
用于加载Widget,来自jqm官方文档
It can also be displayed manually for custom loading actions using the $.mobile.loading helper method (See the global method docs).
有两种解决方案。
我会推荐第一个。这将使您升级友好。
答案 1 :(得分:1)
通过在移动样式表中的某处添加以下CSS规则来覆盖jQuery mobile CSS。
我将其直接添加到我的移动清单文件app/assets/stylesheets/mobile.css.scss
,位于//= require jquery.mobile-1.4.5.min.css
.ui-icon-loading { background: image-url('my-custom-ajax-loader.gif') !important; }
通过使用image-url
帮助程序,您可以获得资产管道的所有好处,例如指纹识别和CDN利用率。