【发布时间】:2014-06-02 09:00:20
【问题描述】:
我是 phonegap 功能的新手。
我的疑问是如何在我的 ruby on rails 代码中添加一个新的 cordova 插件。 请帮忙
【问题讨论】:
标签: ruby-on-rails cordova plugins
我是 phonegap 功能的新手。
我的疑问是如何在我的 ruby on rails 代码中添加一个新的 cordova 插件。 请帮忙
【问题讨论】:
标签: ruby-on-rails cordova plugins
我遇到了类似的问题,最后写了一篇关于我的解决方案的博客文章。它讨论了如何在 Rails 网站上加载资产,滚动您自己的 user_agent 字符串(我假设您的网站将接受来自普通浏览器以及 Cordova 应用程序的请求?)等。
一个关键部分是使用非标准的cordova.js 文件。有关详细信息,请参阅 Cordova 问题 CB-6505。 Cordova 团队已计划解决此问题(从远程主机获取缩小的资产),但尚未完成。
我最终将 JavaScript 资源分成了多个块,在我的例子中是 3 个。为所有请求提供一个块,包括 jQuery、Bootstrap 和其他一些通用代码。其他 2 个块(一个用于 iOS 应用程序请求,一个用于 Android 应用程序请求)具有 Cordova 特定文件。我使用了 3 个不同的 Manifest 文件来完成此操作,以及 rails app/assets/javascripts 目录下的 2 个子目录。子目录包含特定于体系结构的 cordova.js 和 cordova_plugins.js 文件,以及所有插件 Javascript 文件。根据您需要的插件,您也许可以将它们全部放在通用块中。就我而言,我需要根据架构略有不同的插件集。在任何情况下,您都需要根据访问 Rails 站点的设备来提供特定于架构的 cordova.js 文件。每当我添加/更改使用的 Cordova 插件时,它们也需要复制到 Rails 网站代码库中。
我还需要能够区分来自我的 Cordova 应用程序的访问,以及在同一设备上运行的网络浏览器。在 Rails 方面,我添加了一个“前置过滤器”,它设置了一些可以在 app/views/layouts/application.html.erb 文件中使用的@vars,以选择要提供哪些 JavaScript 资产块。过滤器使用用户代理字符串来确定要服务的块。
更多详情请见:http://craigapayne.blogspot.com/2014/07/creating-truly-hybrid-app-and-backing.html
【讨论】: