글쎄, Ember와 모델에 문제가 있습니다. Express를 사용하여 Mongoose API에서 JSON을 반환하고자하기 때문에 경로가 json을 올바르게 반환한다는 것이므로, 하지만 프론트 엔드 (Ember)에서 그것을 잡으려고 할 때 null과 같이 돌아오고 있습니다. 내 엠버 경로에서Ember + Mongoose가 레코드를 반환하지 않습니다.
나는 한 다음
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('examGroupQuestion',function() {
this.route('showQ',{
path: 'showQ/:questionsGroup_id'
});
});
});
export default Router;
그리고 마지막으로이 내입니다 :
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params){ //i'm getting params from the url as a paremeter
return Ember.RSVP.hash({
questions: this.store.find('examGroupQuestion/show-q', params.questionsGroup_id)
});
}
});
그것은이 경로는 아이가, 또 다른 하나의하는 것이 중요합니다 다음에 나는 당신에게 라우터를 보여 모델 :
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
export default Model.extend({
/* the atributte array it's defined in a transform */
description: attr('string'),
matrix_eval: attr('array'),
level: attr('string'),
rows: attr('array'),
randomize_row: attr('boolean'),
columns: attr('array'),
randomize_col: attr('boolean'),
});
글쎄, 우리는 json을 경로 모델에서 템플릿으로 전달하려고합니다.
router.route('/examGroupQuestion/showQs/:qid').get(function(req,res){ questions_group.getQuestions(req,res, req.params.qid); });
:이 경로를했다 REST 서버에서
:하지만 기록은 항상 우리가 REST 서버 응답 및 오류를 볼 수 있습니다 다음 이미지에서와 같이 널 (null)입니다 것을 보여 그것은이 일어나는 이유
module.exports.getQuestions = function(req,res,id){
QuestionGroup.findById(id).exec(function(err, questiongroup){
if(err)
{
res.send(err);
}
function done(result){
res.json({questionsGroup:result});
}
var result = [];
var l = questiongroup.questions.length;
for(var j = 0; j < l; j++)
{
(function(j){
Questions.findById(questiongroup.questions[j].id).exec(function(err, questions){
if(err)
{
res.send(err);
}
result.push(questions);
if(l === j+1)
{
done(result);
}
});
})(j);
}
});
};
사람이 알고 있나요, 어떤 도움이 감사 것을 :
와는 API에서 나는 다음과 같은했다.
괜찮아 보이지만, 함수'findRecord'는 특정 모델을 가진 레코드 하나를 얻습니다. 약속의 배열을 반환한다는 것이고, 각각의 약속은 질문 데이터와 함께 왔기 때문에 모든 것을 가져와야합니다. 내부. –
잘'query'를 사용할 수 있습니다.이 메소드는 쿼리를 어댑터에 위임합니다. 이것은 어댑터 수준의 의미가 응용 프로그램에 노출되는 한 곳입니다. 예 : store.query ('person', {ids : [1, 2, 3]}); – Majid