Преобразуване на приложението Ember Rails в phonegap

Току-що започнах да използвам както Ember, така и Phonegap и използвам скъпоценния камък Ruby on Rails Ember-Rails, тъй като исках да използвам Rails, за да направя предварителната компилация на активи. Мога да използвам rails s, за да стартирам приложението Ember и всичко работи добре. За да вляза в приложение phonegap, изпълнявам команда rake assets:precompile, след което копирам css и js файловете с пръстов отпечатък в директория с активи и променям файла index/html, за да ги взема, както следва:

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

След това копирам index.html и активите в директория на приложението phonegap. Когато използвам phonegap cli, за да създам приложението и да го стартирам на емулатор, излиза с „Грешка в приложението – Връзката със сървъра беше неуспешна. (file:///android_asset/www/index.html)“. Опитах различните решения в тази публикация:Грешка в приложението - Връзката със сървъра беше неуспешна. (file:///android_asset/www/index.html), но никой не разреши проблема ми. Когато отворя index.html в браузър, получавам Uncaught UnrecognizedURLError: /home/paul/Documents/testapp/www/index.html, което идва от някъде във файла ember.js, но предполагам, че това е само защото е зареден от файловата система, а не е отделен от хост.

Разгледах и скъпоценния камък phonegap-rails, но изглежда, че командите, които очаква да се изпълняват във phonegap, са от по-стара версия и вече не работят.

Не съм много сигурен накъде да отида оттук нататък и може би просто не е добра идея да се опитате да направите това от релси?

АКТУАЛИЗАЦИЯ: Отказах се да се опитвам да накарам това да работи. Вместо това избрах опцията ember-cli-cordova (https://github.com/poetic/ember-cli-cordova). Което имаше няколко дребни спънки, които бяха лесно решени и сега съм готов и работя....


person mahi-man    schedule 12.07.2015    source източник


Отговори (1)


Ако промените locationType във вашия файл environment.js на 'hash', а не на 'auto', ще разрешите този проблем.

Проблемът е, че phonegap има достъп до вашето приложение на url като file:///android_assets/www/index.html

ember се опитва да разреши index.html като маршрут, когато locationType е зададен на auto.

person l33z3r    schedule 23.07.2015
comment
Според коментара в актуализацията, всъщност преминах към ember-cli-cordova, но все още ми дава тази грешка в емулатора (но не и когато инсталирам на действителен телефон). Опитах се да променя типа на местоположението на хеш, както предложихте, но това нямаше значение за съжаление.... - person mahi-man; 25.07.2015
comment
Добре, може да е друг фактор, който причинява проблема ви. Току-що реших проблема, като предприех тези стъпки. Съжалявам, нямам идеи. - person l33z3r; 25.07.2015