0
내 몽구스 스키마 용으로 만든 속성과 관련된 Express 4에서 라우팅 문제가 발생합니다. 어떤 이유로 POST 요청을 시도 할 때 설명이 정의되지 않은 참조 오류가 발생했습니다. 내 경로 요청을 망쳤나요?정의되지 않은 모델의 라우팅 오류 모델 속성
오류 :
ReferenceError: description is not defined
at Object.handle (/Users/user/Desktop/Projects/node/travelApp/app/routes.js:47:5)
at next_layer (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/route.js:103:13)
at Route.dispatch (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/route.js:107:5)
at c (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/index.js:195:24)
at Function.proto.process_params (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/index.js:251:12)
at next (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/index.js:189:19)
at next_layer (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/route.js:77:14)
at next_layer (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/route.js:81:14)
at next_layer (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/route.js:81:14)
at Route.dispatch (/Users/user/Desktop/Projects/node/travelApp/node_modules/express/lib/router/route.js:107:5)
이
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var DestinationSchema = new Schema({
tite: String,
description: String,
topOne: String,
topTwo: String,
topThree: String,
topFour: String,
topFive: String
});
module.exports = mongoose.model('Destination', DestinationSchema);
routes.js을 destination.js :
module.exports = function(app, passport, Destination) {
app.get('/', function(req, res) {
res.render('index.ejs')
});
app.get('/login', function(req, res) {
res.render('login.ejs', { message: req.flash('loginMessage') });
});
app.post('/login', passport.authenticate('local-login', {
successRedirect : '/profile',
failureRedirect : '/login',
failureFlash : true
}));
app.get('/signup', function(req, res) {
res.render('signup.ejs', { message: req.flash('signupMessage') });
});
app.post('/signup', passport.authenticate('local-signup', {
successRedirect : '/profile',
failureRedirect : '/signup',
failureFlash : true
}));
app.get('/profile', isLoggedIn, function(req, res) {
res.render('profile.ejs', {
user : req.user
});
});
app.get('/destinations', isLoggedIn, function(req, res) {
res.render('destinations.ejs', {
user : req.user
});
});
app.post('/destinations', function(req, res) {
var destination = new Destination();
destination.name = req.body.name,
destination.description = req.body.description,
description.topOne = req.body.topOne,
description.topTwo = req.body.topTwo,
description.topThree = req.body.topThree,
description.topFour = req.body.topFour,
description.topFive = req.body.topFive;
destination.save(function(err){
if (err)
res.send(err);
res.json({ message: 'Destination created.'});
});
});
app.get('/logout', function(req, res) {
req.logout();
res.redirect('/');
});
};
function isLoggedIn(req, res, next) {
if(req.isAuthenticated())
return next();
res.redirect('/');
}
예. 그게 내 문제를 해결 했어. 자동 고침에 의존하지 마십시오. – cphill