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
どんな助けでも大歓迎です!ありがとう!