Correu tudo certo com o curso até o momento de tentar exibir os dados para editar as informações do livro. Ocorre que não estão sendo exibidas as informações passadas.
baixei o projeto do instrutor, comparei os arquivos, troquei os arquivos 'custom-express.js', 'rotas.js', 'form.marko' e 'lista.marko', mas o erro permaneceu.
Dei um console.log no rotas.js e está passando os dados normalmente, conforme abaixo:
app.get('/livros/form/:id', function(req, resp){
const id = req.params.id;
const livroDao = new LivroDao(db);
livroDao.buscaPorId(id)
.then(livro =>{
resp.marko(require('../views/livros/form/form.marko'),
{ livro: livro }
);
console.log(livro);
}
)
.catch(erro => console.log(erro));
});
no form.marko, está assim:
<html>
<body>
<h1>Cadastro de livros</h1>
<form action="/livros" method="post">
<div if(data.livro.id)>
<input type="hidden" name="_method" value="PUT">
<input type="hidden" id="id" name="id" value="${data.livro.id}" />
</div>
<div>
<label for="titulo">Titulo:</label>
<input type="text" id="titulo" name="titulo" value="${data.livro.titulo}" placeholder="coloque o titulo" />
</div>
<div>
<label for="preco">Preço:</label>
<input type="text" id="preco" name="preco" value="${data.livro.preco}" placeholder="150.25" />
</div>
<div>
<label for="descricao">Descrição:</label>
<textarea cols="20" rows="10" id="descricao" name="descricao" placeholder="fale sobre o livro">${data.livro.descricao}</textarea>
</div>
<input type="submit" value="Salvar" />
</form>
</body>
</html>
Não sei mais o q tentar. Obrigado.