jquerymobile中断了Rails应用程序

时间:2018-06-28 16:51:44

标签: ruby-on-rails jquery-mobile

我想使用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.cssjquerymobile.js文件不存在一样。我的目标是使jquery mobile与台式机版本分开,并在来自mobile的请求下加载文件。但是,我想知道是什么导致应用程序中断,因为具有完整资产管道的移动版本将继承该问题。

1 个答案:

答案 0 :(得分:0)

要从资产管道中隐藏css和js文件,必须在application.cssapplication.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