Все работает нормально, за исключением случаев, когда я отправляю страницу редактирования. Кажется, он не может найти идентификатор.Пожалуйста, помогите взглянуть на приведенный ниже код и понять, что не так: сообщение об ошибке прикреплено к изображению, указанному в ссылке ниже: У меня все страницы настроены правильно:
Сообщение об ошибке находится на изображении ниже:
Код:
//POST Edit page
router.post('/edit-page/:slug', function(req, res) {
req.checkBody('title', 'Title must have a vlaue.').notEmpty();
req.checkBody('content', 'Content must have a value.').notEmpty();
var title = req.body.title;
var slug = req.body.slug.replace(/\s+/g, '-').toLowerCase();
if (slug == "") slug = title.replace(/\s+/g, '-').toLowerCase();
var content = req.body.content;
var id = req.body.id;
var errors = req.validationErrors();
if (errors) {
res.render('admin/edit_page', {
errors: errors,
title: title,
slug: slug,
content: content,
id: id
});
} else {
Page.findOne({
slug: slug,
_id: {
'$ne': id
}
}, function(err, page) {
if (page) {
req.flash('danger', 'Page slug exists, choose another.');
res.render('admin/edit_page', {
title: title,
slug: slug,
content: content,
id: id
});
} else {
console.log("I am this far...")
page.findById(id, function(err, page) {
if (err)
console.log("How about here?");
return console.log(err);
page.title = title;
page.slug = slug;
page.content = content;
page.save(function(err) {
if (err)
return console.log(err);
req.flash('success', 'Page added!');
res.redirect('/admin/pages/edit-page/' + page.slug);
});
});
}
});
}
});