Javascript Express.js与EJS应用程序错误:编辑表单未指明文章的当前类别
我正在使用、和MongoDB开发一个(单击链接查看GitHub回购) 我有帖子和帖子类别,每个都有自己的收藏 在编辑帖子表单(以及添加新帖子表单)中,有一个包含可用类别的选择框:Javascript Express.js与EJS应用程序错误:编辑表单未指明文章的当前类别,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,我正在使用、和MongoDB开发一个(单击链接查看GitHub回购) 我有帖子和帖子类别,每个都有自己的收藏 在编辑帖子表单(以及添加新帖子表单)中,有一个包含可用类别的选择框: <% if (categories) { %> <div class="form-group"> <label for="categores">Choose a post category</label> <select id
<% if (categories) { %>
<div class="form-group">
<label for="categores">Choose a post category</label>
<select id="categores" name="category" class="form-control">
<% categories.forEach(function(category, index) { %>
<option value="<%= category._id %>" selected="<%= category._id == post.category._id ? 'selected' : ''; %>"><%= category.cat_name %></option>
<% }); %>
</select>
</div>
<% } %>
我做错了什么?请确保您正在比较两个字符串:
<option value="<%= category._id %>" <%= category._id.toString() == post.category._id.toString() ? 'selected' : ''; %>><%= category.cat_name %></option>
exports.editPost = (req, res, next) => {
const postId = req.params.id;
Post.findById(postId, function(err, post) {
const categories = Category.find({}, (err, categories) => {
if (err) {
console.log('Error: ', err);
} else {
res.render('admin/editpost', {
layout: 'admin/layout',
website_name: 'MEAN Blog',
page_heading: 'Dashboard',
page_subheading: 'Edit Post',
categories: categories,
post: post
});
}
});
});
}
exports.updatePost = (req, res, next) => {
const query = {
_id: req.params.id
}
const form = {
titleholder: req.body.title,
excerptholder: req.body.excerpt,
bodyholder: req.body.body
};
const errors = validationResult(req);
const post = {};
post._id = req.params.id;
post.title = req.body.title;
post.short_description = req.body.excerpt
post.full_text = req.body.body;
post.category = req.body.category;
if (req.file) {
post.post_image = req.file.filename;
}
if (!errors.isEmpty()) {
req.flash('danger', errors.array())
res.render('admin/editpost', {
layout: 'admin/layout',
website_name: 'MEAN Blog',
page_heading: 'Dashboard',
page_subheading: 'Edit Post',
form: form,
post: post
});
} else {
Post.update(query, post, function(err) {
if (err) {
console.log(err);
return;
} else {
req.flash('success', "The post was successfully updated");
req.session.save(() => res.redirect('/dashboard'));
}
});
}
}
<option value="<%= category._id %>" <%= category._id.toString() == post.category._id.toString() ? 'selected' : ''; %>><%= category.cat_name %></option>