2015-11-17 52 views
0

我的終端控制檯是給我下面的:錯誤:Route.put()需要回調函數,但有一個[對象未定義]

Error: Route.put() requires callback functions but got a [object Undefined] 

這是我的應用程序>路線> articles.server.routes.js在CONSOL

// .put(users.requiresLogin, articles.hasAuthorization, articles.update) 
// .delete(users.requiresLogin, articles.hasAuthorization, 

當我評論這兩條線出來,錯誤:

var users = require('../../app/controllers/users.server.controller'), 
     articles = require('../../app/controllers/articles.server.controller'); 

module.exports = function(app) { 
    app.route('/api/articles') 
     .get(articles.list) 
     .post(users.requiresLogin, articles.create); 

    app.route('/api/articles/:articleId') 
     .get(articles.read) 
     // .put(users.requiresLogin, articles.hasAuthorization, articles.update) 
     // .delete(users.requiresLogin, articles.hasAuthorization, articles.delete); 
     app.param('articleId', articles.articleByID); 


}; 

我收到錯誤以下e走開。

我在我的package.json中有「方法重寫」:「〜2.2.0」並且它已正確安裝。我正確地在我的express.js文件中聲明瞭它,所以我不確定我做錯了什麼。

var config = require('./config'), 
    express = require('express'), 
    morgan = require('morgan'), 
    compress = require('compression'), 
    bodyParser = require('body-parser'), 
    methodOverride = require('method-override'),**** 
    session = require('express-session'), 
    flash = require('connect-flash'), 
    passport = require('passport'); 

module.exports = function(){ 
    var app = express(); 

    if (process.env.NODE_ENV === 'development'){ 
     app.use(morgan('dev')); 
    } else if (process.env.NODE_ENV === 'production'){ 
     app.use(compress()); 
    } 

    app.use(bodyParser.urlencoded({ 
     extended: true 
    })); 

    app.use(bodyParser.json()); 

    app.use(methodOverride()); 
+0

請顯示'articles.hasAuthorization'功能 –

+0

我明白了。我在我的用戶控制器中放置了hasAuthorization,而不是我的文章控制器。感謝500萬讓我在正確的地方看看! –

+1

@ BenWong你可以發表一個答案,而不是評論,然後將其標記爲接受? – Ouroborus

回答

-1

如果別人遇到這樣的:當這發生在我身上,我已經不匹配的呼叫,即一個PUT在呼喚一個POST。確保一切排隊!

相關問題