2014-03-12 5 views
1

node.js에 앱을 쓰고 있는데 다음 코드가 있습니다. DB보기에서 JSON 렌더링

에서 항목을 검색하기위한

API

allTopics = function (req, res) { 
    db.Topic.all({limit: 10}).success(function (topics) { 
    res.send(topics) 
    }); 
}; 

경로 주제 지수에 대한

app.get('/topics', function (req, res){ 
    res.render('topics/index.ejs',{ topics : allTopics }) 
    }); 

는 위의 코드는 경로에 대한 정확합니까?

또한 모든 주제 (예 : json 응답에서 데이터를 검색)를 나열하려는 파일이 index.ejs입니다. 이것을 어떻게 성취합니까?

답변

2

에 코드를있는 그대로 작동하지 않습니다하지만 다음과 같이 당신이 그것을 다시 작성할 수 :

// notice how I am passing a callback rather than req/res 
allTopics = function (callback) { 
    db.Topic.all({limit: 10}).success(function (topics) { 
    callback(topics); 
    }); 
}; 


// call allTopics and render inside the callback when allTopics() 
// has finished. I renamed "allTopics" to "theData" in the callback 
// just to make it clear one is the data one is the function. 
app.get('/topics', function (req, res){ 
    allTopics(function(theData) { 
    res.render('topics/index.ejs',{ topics : theData }); 
    }); 
}); 
+0

감사 @Hector을. –