将Ember Rails应用转换为phonegap

时间:2015-07-12 23:01:06

标签: ruby-on-rails cordova ruby-on-rails-4 ember.js

我刚刚开始使用Ember和Phonegap,我正在使用Ruby on Rails Ember-Rails gem来使用Rails来进行资产预编译。我可以使用rails s运行Ember应用程序,一切正常。要进入一个phonegap应用程序,我正在执行rake assets:precompile命令,然后将指纹css和js文件复制到资产目录,并修改索引/ html文件以获取它们,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <title>MahimanagerPhoneApp</title>
     <link rel="stylesheet" media="all" href="./assets/application-f82ab2dfef6aa5b0589d092d8949fc1e6126d774e74d5a024c1407a7082732f6.css"/>
     <script src="./assets/application-0df5442d7ea56c8d2a38022448c2c9b57397f561885306bbdfff8db7962547c3.js"></script>
  </head>
  <body>
    <div id="ember-app"></div>
  </body>
</html>

然后我将index.html和资产复制到phonegap app目录中。当我使用phonegap cli构建应用程序并在模拟器上启动时,它会出现“应用程序错误 - 与服务器的连接失败。(file:///android_asset/www/index.html)”。我在这篇文章中尝试了各种解决方案:Application Error - The connection to the server was unsuccessful. (file:///android_asset/www/index.html) 但没有人解决我的问题。当我在浏览器中打开index.html时,我得到Uncaught UnrecognizedURLError: /home/paul/Documents/testapp/www/index.html来自ember.js文件中的某个地方,但我认为这只是因为它是从文件系统加载而不是从主机切断。 / p>

我也研究过phonegap-rails gem,但看起来它预期在phonegap中运行的命令来自旧版本,不再有效。

我不确定从哪里开始,也许从铁轨上尝试这样做不是一个好主意?

更新: 我放弃了试图让它发挥作用。我改为使用了ember-cli-cordova选项(https://github.com/poetic/ember-cli-cordova)。其中有一些轻微的绊脚石很容易解决,现在我已经开始运作....

1 个答案:

答案 0 :(得分:0)

如果将environment.js文件中的locationType更改为“hash”而不是“auto”,则可以解决此问题。

问题在于,phonegap可通过以下网址访问您的应用:例如file:///android_assets/www/index.html

当locationType设置为auto时,

ember尝试将index.html解析为路由。