comment puis-je corriger les routes pour trouver des vues à l'intérieur des sous-dossiers dans node.js

je suis en train de créer un itinéraire pour localhost:port/admin/
et je veux garder la routes.js les fichiers et les view.js les fichiers correspondants dans les dossiers, donc je ne vais pas avoir trop de spaggeti plus tard

mais je reçois: 500 Erreur: Échec de la recherche view "/admin/manage_subjects"
pour essayer de créer une nouvelle route et en utilisant les mêmes dossiers peu de la même

j'ai la vue suivante dossier avec express

mainapp(root)
  routes(folder)
    admin(folder)
      index.js(nested inside admin)
    index.js(nested inside routes)
  views(folder)
    admin(folder)
      admin_layout.jade(nested inside admin)
      manage_subjects.jade(nested inside admin)
    index.jade(nested inside views)
    layout.jade(nested inside views)

code:
routes/admin/index.js

exports.index = function (req, res) {
res.render('manage_subjects',{title:'Express'});}

views/admin/manage_subjects.jade

extends admin_layout
block content
h1 = title
p Welcome to #{title}

mon app.js code

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , admin_routes = require('./routes/admin/')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path')
  , repository = new (require('./domain_model/repository'))();

var app = express();

//all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

//development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

//fill local subjects
repository.subjects.GetAll(function (err, data) {
    if (err) throw err;
    app.locals.subjects = data;
});

//append routes
app.get('/', routes.index);
app.get('/admin', admin_routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on http://localhost:' + app.get('port'));
});
dans routes/admin/index.js il semble qu'il devrait être res.render('admin/manage_subjects',{title:'Express'});}
je l'ai essayé, ne fonctionne pas 🙁

OriginalL'auteur user2538720 | 2013-07-02