在Rails应用程序中包含Phone Gap插件

Nid*_*S G 1 plugins ruby-on-rails cordova

我是手机功能的新手.

我怀疑的是如何在我的ruby on rails代码中添加一个新的cordova插件.请帮忙

use*_*746 5

我遇到了类似的问题,最后写了一篇关于我的解决方案的博客文章.它讨论了如何在Rails网站上加载资产,滚动你自己的user_agent字符串(我假设你的网站将接收来自普通浏览器的请求,以及Cordova应用程序?)等.

一个关键部分是使用非标准的cordova.js文件.有关详细信息,请参阅Cordova Issue CB-6505.Cordova团队计划解决此问题(从远程主机获取缩小资产),但尚未完成.

在我的案例中,我最终将JavaScript资产拆分为块.为所有请求提供了一个块,包括jQuery,Bootstrap和一些其他通用代码.其他2个块(一个用于iOS App请求,一个用于Android App请求)具有Cordova特定文件.我使用3个不同的Manifest文件来完成它,以及rails app/assets/javascripts目录下的2个子目录.子目录包含特定于体系结构的cordova.js和cordova_plugins.js文件,以及所有插件Javascript文件.根据您需要的插件,您可以将它们全部放在通用块中.就我而言,我需要稍微不同的插件集,具体取决于架构.在任何情况下,您都需要提供特定于体系结构的cordova.js文件,具体取决于访问Rails站点的设备.每当我添加/更改使用的Cordova插件时,他们也需要复制到Rails网站代码库中.

我还需要能够区分来自我的Cordova应用程序的访问,以及在同一设备上运行的Web浏览器.在Rails方面,我添加了一个'before filter',它设置了一些可以在app/views/layouts/application.html.erb文件中使用的@vars来选择要提供的JavaScript资产块.过滤器使用用户代理字符串来确定要服务的块.

有关其他详细信息,请参阅:http://craigapayne.blogspot.com/2014/07/creating-truly-hybrid-app-and-backing.html