我有一个名为books.js的哈巴狗文件,我在其中基于:id渲染表单,并使用findById()从续集模型中传入的值填充表单中的文本字段
books.js
router.get('/:id', function(req, res, next) {
Book.findById(req.params.id).then(function(book){
res.render('update-book.pug', {book: book, title: "Update Book"})
console.log(book)
})
});
这是我尝试渲染的pug文件,其值基于其ID确定,我在值后使用 book 一词。因为我理解函数参数{{1} } books.js中的}应该包含数据
book
在我的终端中,我收到此消息
extends layout.pug
block content
h1= title
form
p
label(for='title') Title
input#title(name='title', type='text', value=book.title)
p
label(for='author') Author
input#author(name='author', type='text', value=book.author)
p
label(for='genre') Genre
input#genre(name='genre', type='text', value=book.genre)
p
label(for='year') Year
input#year(name='year', type='text', value=book.year)
p
input(type='submit', value='Update Book')
form(method='post', action='/books/8/delete', onsubmit="return confirm('Do you really want to delete this book?');")
p
a.button(href='/') Cancel
p
input(type='submit', value='Delete Book')
在我的浏览器中,我收到此错误:
有人可以帮忙吗?