В настоящее время я работаю над приложением CRUD
- на данный момент я создал маршрут index
, маршрут show
и create
и перешел к созданию метода update
.Я пошел дальше и добавил маршрут, шаблон и контроллер, но всякий раз, когда я пытаюсь щелкнуть ссылку на мой новый шаблон, я получаю сообщение об ошибке, сообщающее мне следующее:
This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.
Я ссылаюсь на путь обновления через страницу шоу и могу подтвердить, что ID
, который я передаю в функцию link-to
, существует.В таком случае, я думаю, что с моим названием маршрута что-то не так, но не могу понять, где я ошибаюсь.Я предполагаю, что это вероятно что-то не так с вложенными маршрутами.
Я попытался изменить порядок своих маршрутов и поместил операторы журнала консоли в контроллер, который я ожидал выполнить после того, как был достигнут оператор link-to - до сих пор я не вошел в контроллер.
app/router.js
import EmberRouter from '@ember/routing/router';
import config from './config/environment';
const Router = EmberRouter.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('about');
this.route('contact');
this.route('posts', function() {
this.route('post');
this.route('show', { path: '/:post_id' });
this.route('edit', { path: '/:post_id/edit' });
this.route('destroy', {path: ':post_id/destroy'});
});
});
export default Router;
apps/routes/posts/edit.js
import Route from '@ember/routing/route';
export default Route.extend({
model(params) {
console.log('hit this when edit route is hit')
return this.store.findRecord('post', params.post_id);
}
});
app/templates/post/show.hbs
<div class="jumbo show-posts">
...
</div>
{{log this.model.id}}
<div class="col-sm-offset-2 col-sm-10">
<h3>{{#link-to "post.edit" post class=this.model.id}}Update post{{/link-to}}</h3>
</div>
{{outlet}}
...