Os dados do vídeo não estão sendo salvos. Já coloquei a senha do meu msql no meu connectionFactory. Ele lista os dados, que foram inseridos manualmente via script, porém não salva. Alguma ideia?
Os dados do vídeo não estão sendo salvos. Já coloquei a senha do meu msql no meu connectionFactory. Ele lista os dados, que foram inseridos manualmente via script, porém não salva. Alguma ideia?
Posta o código aqui do controller e da view
É o código que a própria Alura dá ao fim de cada capítulo...
Se alguém tiver alguma ideia do porque meu insert não insere...
Meu connectionFactory:
var mysql = require('mysql');
function createDBConnection() {
return mysql.createConnection({
host: 'localhost',
user: 'root',
password: '*****',
database: 'casadocodigo_nodejs'
});
}
module.exports = function() {
return createDBConnection;
}
meu DAO para insert :
ProdutosDAO.prototype.salva = function(produto, callback){
this._connection.query('insert into produtos set ?', produto, callback);
}
Meu método POST:
app.post('/produtos', function(req, res) {
var produto = req.body;
var connection = app.infra.connectionFactory();
var produtosDAO = new app.infra.ProdutosDAO(connection);
produtosDAO.salva(produto, function(err, results) {
res.redirect('/produtos');
});
connection.end();
});
E ae Leonardo, tudo bem?
Você esta obtendo alguma exceção? Não aparece nada no console?
Notei que você esta ignorando o erro que pode estar sendo retornado do DAO no seu post. Nesse trecho:
produtosDAO.salva(produto, function(err, results) {
res.redirect('/produtos');
});
Tente verificar o erro, desta forma:
produtosDAO.salva(produto, function(err, results) {
if (err) console.log(err);
res.redirect('/produtos');
});
Talvez assim o erro apareça no console.
Se você puder, coloque o seu ProdutoDAO inteiro aqui.
Abraço.
Valeu Daniel. Imaginei que uma tratativa deste erro não me mostraria na real o problema, mas foi de grande ajuda, obrigado