Arquivo livro-dao.js:
atualiza(livro) {
return new Promise((resolve, reject) => {
this._db.run(
UPDATE livros SET
titulo = ?,
preco = ?
descricao = ?
where id = ?
,
[
livro.titulo,
livro.preco,
livro.descricao,
livro.id
],
erro => {
if (erro) return reject('Não foi possível atualizar o livro')
resolve()
}
)
})
}
rotas.js:
app.put('/livros', function(req, resp) { console.log(req.body); const livroDao = new LivroDao(db);
livroDao.atualiza(req.body)
.then(resp.redirect('/livros'))
.catch(erro => console.log(erro));
});
form.marko:
Cadastro de livros
<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>