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



我不熟悉phonegap的功能。

我的疑问是如何添加一个新的cordova插件到我的ruby on rails代码。请帮助

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

一个关键部分是使用非标准的cordova.js文件。详见Cordova Issue CB-6505。Cordova团队计划解决这个问题(从远程主机获取最小化资产),但这还没有完成。

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

我还需要能够区分访问从我的Cordova应用程序,从在同一设备上运行的web浏览器。在Rails方面,我添加了一个"before过滤器"来设置一些可以在app/views/layouts/application.html中使用的@vars。erb文件选择要提供哪个JavaScript资产块。过滤器使用user-agent字符串来确定要提供哪些块。

更多详细信息请参见:http://craigapayne.blogspot.com/2014/07/creating-truly-hybrid-app-and-backing.html

最新更新