5
respostas

Problemas para fazer o loop

Minha aplicacao sempre exibe o erro na hora de renderizar a lista. Mesmo baixando o codigo do curso, da o mesmo erro. Segue:

TypeError: /home/josue/Downloads/casadocodigo/app/views/produtos/lista.ejs:11 9| 10|

11| <% for(var i=0; i 12|

13| <%= lista[i].id %> 14| <%= lista[i].titulo %>

Cannot read property 'length' of undefined at eval (eval at compile (/home/josue/Downloads/casadocodigo/node_modules/ejs/lib/ejs.js:549:12), :11:28) at returnedFn (/home/josue/Downloads/casadocodigo/node_modules/ejs/lib/ejs.js:580:17) at tryHandleCache (/home/josue/Downloads/casadocodigo/node_modules/ejs/lib/ejs.js:223:34) at View.exports.renderFile [as engine] (/home/josue/Downloads/casadocodigo/node_modules/ejs/lib/ejs.js:437:10) at View.render (/home/josue/Downloads/casadocodigo/node_modules/express/lib/view.js:127:8) at tryRender (/home/josue/Downloads/casadocodigo/node_modules/express/lib/application.js:640:10) at Function.render (/home/josue/Downloads/casadocodigo/node_modules/express/lib/application.js:592:3) at ServerResponse.render (/home/josue/Downloads/casadocodigo/node_modules/express/lib/response.js:971:7) at Query._callback (/home/josue/Downloads/casadocodigo/app/routes/produtos.js:7:17) at Query.Sequence.end (/home/josue/Downloads/casadocodigo/node_modules/mysql/lib/protocol/sequences/Sequence.js:88:24)

Esta faltando alguma dependência para funcionar o loop?

5 respostas

Parece que você não está disponibilizando a variável lista para a sua view. Um outra possibilidade é que pode ter acontecido um erro e mesmo assim você ta indo para a view, só que a lista está indefinida.

Eu descobri depois de algum tempo que meu problema era de acesso ao banco. Ou seja, a lista era popular sempre com undefined no controller. Aprendi que sempre devemos logar os possíveis erros em todas as chamadas a recursos externos.

estou com o mesmo problema, como resolveu ?

O meu problema era simplesmente pq eu não estava conectando no banco pois estava com a senha errada. Coloque um console.log para mostrar o erro do createConnection para ver se te ajuda. Eu descobri desta forma.

consegui aqui tambem, obrigado