1
resposta

Erro NODE.JS - Formuláro não aparece.

Meu express esta desta forma

var express = require('express');
var load = require('express-load');

module.exports = function() {
    var app = express();

    app.set('view engine','ejs');
    app.set('views','./app/views');

    load('routes',{cwd: 'app'})
        .then('infra')
        .into(app);

    return app;
}

e meu PRODUTOS estão assim.

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

        produtosBanco.lista(function(err, results){
            res.render('produtos/lista',{lista:results});
        });

        connection.end();
    })

    app.get('/produtos/form',function(req,res){
        res.render('produtos/form');
    });
}

Por que está ocorrendo o erro abaixo?

Error: Failed to lookup view "produtos/form" in views directory "./app/views"
   at Function.render (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\application.js:579:17)
   at ServerResponse.render (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\response.js:960:7)
   at C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\app\routes\produtos.js:14:7
   at Layer.handle [as handle_request] (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\layer.js:95:5)
   at next (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\route.js:131:13)
   at Route.dispatch (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\route.js:112:3)
   at Layer.handle [as handle_request] (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\layer.js:95:5)
   at C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\index.js:277:22
   at Function.process_params (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\index.js:330:12)
   at next (C:\Users\Daniel\Documents\ALURA TREINAMENTOS\NODE_JS\casadocodigo\node_modules\express\lib\router\index.js:271:10)
1 resposta

Oi Daniel, tudo bem? Estranho! A listagem é exibida normalmente? O arquivo form.ejs existe dentro de views/produtos ?