-1
私はこのコードを持っている:ミドルウェアはnodejsで動作していない
exports.get_transducer_edit = (req, res) => {
if(req.isAuthenticated()){
Transducer.findById(req.params.id, (err, foundTransducer) => {
if(err){
res.redirect('/en/dashboard');
} else {
res.render('dashboard/transducer_edit-dashboard', {transducer: foundTransducer});
}
});
}else{
req.flash('error','You need to log in to do that');
res.redirect('/dashboard/login');
}
};
それは問題なく動作しますが、その後、私はミドルウェア/ index.jsにおけるミドルウェア作成したとき:
をvar middlewareObj = {};
middlewareObj.isLoggedIn = function(req, res, next){
if(req.isAuthenticated()) {
return next();
}
res.redirect('/dashboard/login');
};
module.exports = middlewareObj;
私はこのコードの中にそれを呼ばれる:
const middleware = require('../middleware');
const Transducer = require('../models/productTransducers');
exports.get_transducer_edit = middleware.isLoggedIn, (req, res) => {
Transducer.findById(req.params.id, (err, foundTransducer) => {
if(err){
res.redirect('/en/dashboard');
} else {
res.render('dashboard/transducer_edit-dashboard', {transducer: foundTransducer});
}
});
};
私が間違って何をしているのですか?助けてください...
この構文はどのように機能しますか? 'exports.get_transducer_edit = middleware.isLoggedIn、(req、res)=> {' –
私は間違っていました。 これは私のコントローラです。私は次のようなルートを宣言しました: router.get( '/ en/dashboard/products/transducers /:id/edit'、transducer_controller.get_transducer_edit); –