Я пытаюсь создать приложение для планирования автобусов. После того, как данные введены на странице «Создать / Создать» (или пересмотрены на этапе редактирования), план отобразит введенные данные на странице «Показать». Одним из входов является флажок. Если флажок установлен, я хотел бы, чтобы запись отображалась на странице результатов / редактирования плана. При редактировании я бы хотел, чтобы флажок был установлен, если он был отмечен ранее, затем я могу снять этот флажок или установить другой, чтобы эта информация отображалась на странице плана. Как и сейчас, после проверки объект не будет изменяться, чтобы показать, что флажок снят, и будет продолжать отображаться на странице результатов плана и останется отмеченным, если вы снимите отметку, покинете страницу редактирования и вернетесь.
Соответствующий код: планы. js страница:
router.post("/", middleware.isLoggedIn, function(req, res) {
var openHouses = req.body.openHouses;
}
var newPlan = {openHouses: openHouses}
и маршрут обновления:
router.put("/:id", middleware.checkPlanOwnership, function(req, res) {
Plan.findByIdAndUpdate(req.params.id, req.body.plan, {new: true}, function(err, updatedPlan) {
if (err) {
res.redirect("/plans");
} else {
res.redirect("/plans/" + req.params.id);
}
});
});
На new.e js: соответствующая часть формы :
<div class="form-group">
<input class="form-check-input" type="checkbox" value="Open Houses" ? "checked" : "" name="openHouses" id="openHouses">
<label class="form-check-label" for="openHouses">
Open House
</label>
</div>
На соответствующей части страницы show.e js:
<div class="col-md-6">
<h3 id="activities">Activities</h3>
<p><span><% if(plan.openHouses == "Open Houses"){ %>
Open Houses</span></p>
<% } else { %>
<p> </p>
<% } %>
<p><span><% if(plan.seminar == "Home Buyers Seminar"){ %>
Home Buyers Seminars</span></p>
<% } else { %>
<p> </p>
<% } %>
<% if(currentUser && plan.author.id.equals(currentUser._id)){ %>
<a class="btn btn-warning btn-sm" href="/plans/<%= plan._id %>/edit">Edit</a>
<form class="delete-form" action="/plans/<%= plan._id %>?_method=DELETE" method="post">
<button class="btn btn-danger btn-sm">Delete</button>
</form>
<% } %>
</div>
Соответствующая часть схемы:
var planSchema = new mongoose.Schema({
openHouses: String,
description: String,
comments: [{
type: mongoose.Schema.Types.ObjectId,
ref: "Comment"
}]
});
У меня есть на странице приложения: mongoose.set('useFindAndModify', false);
Я прочитал здесь несколько флажков и записей goose, но не могу найти ничего, что получит напрямую.
Любой очень признателен за помощь.
введите описание изображения здесь
введите описание изображения здесь