我正在用 Node、Express 和 MongoDB 创建一个博客。我正在使用 Mongoose 连接到 MongoDB。
我有一个创建新帖子表单,可以很好地在 MongoDB 中创建和保存新帖子。
创建帖子时,您可以将帖子标记为已发布或不选中该选项。当您保存帖子时,我希望您:
A) 如果帖子已发布,则重定向到主页,或 B) 如果帖子未标记为已发布,则重定向到帖子的编辑/更新页面。
这是我试图用来完成上述操作的视图中的代码:
addPost: function(req, res) {
return new Post(req.body.post).save(function() {
if (req.body.published === true) {
return res.redirect("/");
} else {
return res.redirect("/office/post/" + [NEED OBJECT ID HERE] + "/edit");
}
});
}
这是发送 POST 数据的相应视图:
form.web-form(method="post", action="/post/new")
fieldset.fieldset
label.form-label(for="title") Title
input.text-input(id="title", type="text", name="post[title]", placeholder="Post title")
input.text-input(id="alias", type="hidden", name="post[alias]")
label.form-label(for="subhead") Subhead
input.text-input(id="subhead", type="text", name="post[subhead]", placeholder="Post subhead")
label.form-label(for="preview") Preview
textarea.text-area(id="preview", name="post[preview]", rows="4", placeholder="Preview")
label.form-label(for="post-body") Body
textarea.text-area(id="post-body", name="post[body]", rows="5", placeholder="Main content")
input.check-box(onclick="changeButton()", id="published", type="checkbox", name="post[published]")
label.inline-label(for="published") Publish
input.btn-submit(id="submit-post", type="submit", value="Save!")
a.btn-cancel(href="/") Cancel
任何帮助是极大的赞赏!谢谢!