我正在用express和mongodb進行用戶登錄Web應用程序。我的項目結構是這樣的,如何渲染(重定向)子文件?
project
|-app.js
|-models (contain mongoose model)
|-controllers
| | - user.controller.js
|- views
| | - layout.jade
| | - index.jade
| | - signup.jade
我的app.js只是用於偵聽服務器,依賴關係和路由。 在app.js簡單的代碼,
//app.js
app.get('/', function(req,res){
res.render('index');
});
app.post('/signup', function(req,res){
res.render('signup');
});
app.post('/', controller.register);
,這是我user.controller.js文件,
//user.controller.js
exports.register = function(req,res){
var newUser = new User();
newUser.username = req.body.username;
newUser.email = req.body.email;
newUser.password = req.body.password;
newUser.save(function(err, user){
if(err){
console.log(err.message);
console.log(err.errors.username.message);
res.send('error registering user');
} else{
console.log(user);
res.redirect('/signup');
}
});
};
signup.jade和index.jade是layout.jade文件的孩子。 layout.jade有導航欄和其他簡單的東西。 Index.jade具有實際的形式,用戶可以鍵入他們的用戶ID,密碼和密碼確認。我試圖做的是,用戶點擊index.jade中的按鈕後,用戶將重定向signup
頁面並查看。
index.jade和signup.jade開始,
extend layout
block content
div
...
我覺得我的代碼將工作,如果他們是獨立的玉石文件,有人在這裏Express, Jade, & NodeJS: Navigate between pages解釋。但我沒有這樣的運氣。任何人都可以幫忙嗎? 謝謝!