我想使用jquery mobile创建我的rails 5.0.0.1应用程序的移动版本。
首先,我发现了由Scott W. Bradley用a web page和在Railscasts episode中编写的有用说明。
但是,当我在app/assets/javascripts
中插入jquery移动js文件并在app/assets/stylesheets
中插入jquery移动css文件时,我的应用程序坏了:不遵守css规则,重定向失败,javascript无法正常工作,颜色模糊,按钮不起作用。
所以我想将jquery移动文件添加到专用文件夹/app/assets/jquerymobile
中,然后我编辑了/app/views_mobile/layouts/application.html.erb
,在其头部添加了以下代码行:
<%= stylesheet_link_tag '/app/assets/jquerymobile/jquerymobile.css' %>
<%= javascript_include_tag '/app/assets/jquerymobile/jquerymobile.js' %>
无论文件没有加载,移动设备的行为就像jquerymobile.css
和jquerymobile.js
文件不存在一样。我的目标是使jquery mobile与台式机版本分开,并在来自mobile的请求下加载文件。但是,我想知道是什么导致应用程序中断,因为具有完整资产管道的移动版本将继承该问题。
答案 0 :(得分:0)
要从资产管道中隐藏css和js文件,必须在application.css
和application.js
的最后添加以下条目:
*= stub jquerymobile
//= stub jquerymobile
然后必须在/config/initializers/assets.rb
中添加以下代码行:
Rails.application.config.assets.precompile += %w( jquerymobile.css )
Rails.application.config.assets.precompile += %w( jquerymobile.js )
在这一点上,可以使用stylesheet_link_tag
文件的开头中的javascript_include_tag
和/app/views_mobile/layouts/application.html.erb
包括上述css和js文件,如下所示:
<%= stylesheet_link_tag 'jquerymobile.css' %>
<%= javascript_include_tag 'jquerymobile.js' %>
另请参阅此gist。