【发布时间】:2013-02-15 18:32:33
【问题描述】:
我有一个使用 jquery mobile 的 Rails 3.2.9 应用程序。
我使用 jquery_mobile_rails gem 来嵌入 jqm,并使用 mobylette gem 来检测请求何时来自移动设备。
在开发环境(Webrick)中一切正常
生产环境基于 apache/passenger。 当我运行 rake assets:precompile all 似乎一切顺利, 如果我查看 assets/manifest.yml,我会发现一切正常。
当我调用欢迎页面时,登录表单被发送到浏览器, 但是在开发环境中,页面具有所有 jqm 格式, 在生产中,html 没有“注入”所需的 JQM 代码, 所以例如标签就是
<body>
而不是
<body class="ui-mobile-viewport ui-overlay-c">
因此,似乎在加载页面后,应该运行并使用 JQM 特定代码“丰富”html 的 javascript 没有被触发。
关于为什么会发生这种情况的任何提示?
编辑
assets
javascripts
application.js
mobile
application.js
views
layouts
application.html.erb
application.mobile.erb
清单文件是:
javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require_directory .
javascripts/mobile/application.js
//= require jquery.mobile
//= require_directory .
【问题讨论】:
-
你能发布你的
application.js吗? -
我编辑了问题以包含清单文件。我在子目录中需要 jquery.mobile,因此它不用于移动设备不使用的站点部分。我通过在移动布局中放置 '' 和 '' 来做到这一点
-
你能分享你的application.js吗?我们会看看问题出在哪里..
-
也许我不明白你的要求。我已经在这里发布了两个 application.js 文件的内容。反正问题已经解决了(看下文),原因是jquery 1.9 与jquery mobile 1.2.0 不兼容。干杯。
标签: jquery-mobile ruby-on-rails-3.2 asset-pipeline passenger