2017-07-26 20 views
-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}); 
 
      } 
 
     }); 
 
    
 
};

私が間違って何をしているのですか?助けてください...

+0

この構文はどのように機能しますか? 'exports.get_transducer_edit = middleware.isLoggedIn、(req、res)=> {' –

+0

私は間違っていました。 これは私のコントローラです。私は次のようなルートを宣言しました: router.get( '/ en/dashboard/products/transducers /:id/edit'、transducer_controller.get_transducer_edit); –

答えて

0

申し訳ありません、私はただ解決しました。

私は私のルートでのミドルウェアと呼ばれる:

router.get( '/ EN /ダッシュボード/製品/トランスデューサ/:ID /編集'、middleware.isLoggedIn、transducer_controller.get_transducer_editを)。

私は次のように私のコントローラでそれを呼び出すようにしようとしていた。

exports.get_transducer_edit = middleware.isLoggedIn、(REQ、RES)=> { ...

間違っています!

もう一度おねがいします。

関連する問題