哪里是调整余烬数据如何与风帆对话的最佳位置

时间:2015-07-27 19:16:20

标签: ember-data sails.js ember-cli

我正在尝试为sails.js连接实现一个ember-cli(ember-data)。我已经安装了 ember-data-sails 并且有一个简单的模型并使用了socketAdapter ......

适配器/ application.js中

import SailsSocketAdapter from 'ember-data-sails/adapters/sails-socket';

export default SailsSocketAdapter.extend({
  useCSRF:              true,
  coalesceFindRequests: true,
  namespace:            'api/v1',
  //defaultSerializer: '-rest',
});

示例模型:

RequestType.js

module.exports = {
  attributes: {
    name : { type: 'string' },
    desc : { type: 'string' },
    requestSubType : { type: 'hasMany' }
  }
};

到目前为止,它主要是工作,我可以得到一个RequestTypes列表。但是,如果我尝试嵌套路线以显示/创建 hasMany 关系,那么我有一个问题。

请求子类型/新/ routes.js 此文件首先请求模型 requestType ,然后创建新记录,在 belongsTo 属性中插入Parent。

import Ember from 'ember';

export default Ember.Route.extend({
    model: function() {
        var requestType = this.modelFor('requestTypes/view');
        return requestType.get('requestSubTypes').createRecord({
            requestType: requestType
        });
    }
});

请求类型/视图/ route.js 这个文件是我认为上面要求的模型。这里的问题是得到的params对象是:

{ requestType_id: 6 }

但如果将其传递给store.query调用,则不会返回任何内容。但是,如果我将params对象更改为:

{ id: 6 }

然后我确实看到了从帆api回来的记录。

import Ember from 'ember';

export default Ember.Route.extend({
    model: function(params) {
        console.log('RT: View Route MODEL', params);
        var query = {};
        if(params.requestType_id) {
            query.id= params.requestType_id;
        }
        return this.store.query('requestType', query);
    }
});

所以我的问题是我需要编辑什么来使主键定义匹配。这样Ember-data和Sails可以正确地相互通信?它是在某个地方的序列化程序,Sails API还是在每个模型调用中?

谢谢...对不起,如果上述内容没有任何意义! :)

0 个答案:

没有答案