Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

video 8 - Aula Coesão e Acoplamento

Já revir o vídeo varias vezes e não conseguir ver diferença no que fiz com relação ao vídeo.

Acontece que meu código não funciona mais depois dessa aula e eu não conseguir identificar o erro alguém poderia me ajudar .

//produtos.js
module.exports = function(app){
    app.get('/produtos', function(req, res){
        var connection = app.infra.connectionFactory();
        var produtosBanco = app.infra.produtosBanco;

        produtosBanco.lista(connection, function(err, result){
            res.render('produtos/lista', {lista: result});
        });
        connection.end();
    });
}
//produtosBanco.js
module.exports = function(){
    this.lista = function(connection, callback){
       connection.query('select * from produtos',callback);
    }
    return this;
}
//lista.ejs
<html>
    <body>
        <table>
            <tr>
                <td>ID</td>
                <td>Titulo</td>
                <td>Descricao</td>
                <td>Preco</td>
            </tr>
            <%for(var i=0;i<lista.length;i++) {%>
                <tr>
                    <td><%=lista[i].id%></td>
                    <td><%=lista[i].titulo%></td>
                    <td><%=lista[i].descricao%></td>
                    <td><%=lista[i].preco%></td>
                </tr>
            <%}%>
        </table>
    </body>
</html>

erro apresentado:

TypeError: C:\wamp\www\node\casadocodigo\app\views\produtos\lista.ejs:10
   8|                 <td>Preco</td> 
   9|             </tr> 
>> 10|             <%for(var i=0;i<lista.length;i++) {%> 
   11| <tr> 
   12|                     <td><%=lista[i].id%></td> 
   13|                     <td><%=lista[i].titulo%></td> 

Cannot read property 'length' of undefined
1 resposta
solução!

Descobrir o problema, foi erro meu mesmo. Estava realizando um select em uma tabela que não existia.