Как правильно генерировать ресурсы и маршруты с Ember CLI

Вы также можете проверить журналы на устройстве, чтобы убедиться, что это что-то простое, как проблема с разрешениями. Вы можете проверить журналы с помощью adb с компьютера хоста / отладки:

adb logcat

Или, если у вас есть доступ к консоли (или при использовании консоли Android-x86, набрав Alt + F1), тогда вы можете проверить журналы с помощью команды logcat:

logcat
17
задан jacefarm 11 December 2016 в 15:34
поделиться

2 ответа

В настоящее время вложенные ресурсы и маршруты в желаемом шаблоне не генерируются автоматически с чертежами по умолчанию, найденными в Ember CLI. Чертежи по умолчанию генерируют скелетные файлы и файловую структуру, а некоторые используют свою ловушку afterInstall для обновления других файлов. Следуя этим чертежам по умолчанию, вы правильно генерируете следующие элементы:

    ember g resource events
    ember g route events/view

Затем вы можете изменить Router.map в router.js с помощью предполагаемой вложенности:

    Router.map(function() {
      this.resource('events', function() {
        this.route('view', { path: "/view/:id" });
      })
    });

Теперь вы должны быть можно нажать «events / view / 1» в вашем браузере и просмотреть маршруты, которые вы искали, на вкладке Routers Ember Inspector.

В качестве альтернативы, вы можете выполнить следующее и сгенерировать пользовательский проект:

    ember generate blueprint nested-resource-route

Каталог каталога будет создан в корне вашего проекта, с вашим новым планом внутри. Используя ресурс и чертежи маршрутов в качестве основы, вы можете запустить собственный генератор, чтобы выполнить то, что вы ищете.

19
ответ дан jacefarm 11 December 2016 в 15:34
поделиться

Требуемое поведение возможно в ember-cli 0.1.5 и более поздних версиях. Из заметок о выпуске :

# 2748 улучшен генератор маршрутизатора для поддержки должным образом вложенных маршрутов и ресурсов, если ранее у вас был маршрут, подобный следующему:

Router.map(function() {
  this.route("foo");
});

И вы сделали ember g route foo/bar сгенерированные маршруты будут

Router.map(function() {
  this.route("foo");
  this.route("foo/bar");
});

Теперь он правильно управляет вложенными маршрутами, поэтому результат будет:

Router.map(function() {
  this.route("foo", function() {
    this.route("bar");
   }); 
});

Кроме того, была добавлена ​​опция --path, чтобы вы могли делать такие вещи, как ember g route friends/edit --path=:friend_id/id, создавая вложенный маршрут в friends, например: this.route('edit', {path: ':friend_id/edit'})

11
ответ дан IanVS 11 December 2016 в 15:34
поделиться