を返さない、それはルートが正しくJSONを返すことだ問題で、しかし、私がフロントエンド(Ember)でそれをキャッチしようとすると、nullのように戻ってきます。エンバー+マングースは、燃えさしおよびモデルとまあ、私は問題を抱えている、レコード
私は、次のいた私のエンバールートで:
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 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 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だことを示しています
と私は、次のいたAPIで:それはこの出来事だ理由
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);
}
});
};
誰もが、それは感謝だ任意の助けを知っています。
それはのOKに見えますが、それぞれの約束は質問データに付属しているので、関数 'findRecord'は、特定のモデル、それは私が約束の配列を返すんだ、と私はそれらのすべてを取得する必要があるということだ事で一つのレコードを取得します内部。 –
よく 'query'を使うかもしれません。このメソッドは、クエリをアダプタに委譲します。これは、アダプタレベルのセマンティクスがアプリケーションに公開されている1つの場所です。例:store.query( 'person'、{ids:[1、2、3]}); – Majid