Javascript 如何将ember数据记录转换为基本查询dict而不是JSON?

Javascript 如何将ember数据记录转换为基本查询dict而不是JSON?,javascript,ember.js,Javascript,Ember.js,我已经能够绕过ember data RESTAdapter,并使用Djangorest框架使其适用于我的django web应用程序。显然,它与Rails实现的REST风格不同 我正在扩展原始的DS.RESTAdapter以使用django方法,我很好奇如何将它们通常转换为JSON的“记录”转换为基本查询dict“foo=bar&baz=” 以下是我到目前为止所做的工作——我只想要一种不那么硬编码的方法 DS.RESTAdapter = DS.Adapter.extend({ bulkCom

我已经能够绕过ember data RESTAdapter,并使用Djangorest框架使其适用于我的django web应用程序。显然,它与Rails实现的REST风格不同

我正在扩展原始的DS.RESTAdapter以使用django方法,我很好奇如何将它们通常转换为JSON的“记录”转换为基本查询dict“foo=bar&baz=”

以下是我到目前为止所做的工作——我只想要一种不那么硬编码的方法

DS.RESTAdapter = DS.Adapter.extend({
  bulkCommit: false,

  createRecord: function(store, type, record) {
    var root = this.rootForType(type);

    //var data = {};                                                                             
    //data[root] = record.toJSON();
    var data = 'username=%@'.fmt(record.get('username'))
...

如果您这样定义模型:

MyApp.MyModel = DS.Model.extend({
    property: DS.attr('string'),
    ....
});

MyApp.MyModel.reopenClass({
  url: '/path?ids=%@
});
然后在适配器中:

find: function(store, type, id) {
    var url = type.url;
    url = url.fmt(id);
    ....
})

如果可能的话,我希望保留查询dict作为数据,这样我就可以像normal一样进行PUT/POST操作。在您的模型类上添加一个函数,该函数将格式化您要处理的字符串。查看您正在尝试执行的操作,您可以使用与格式化查询字符串相同的方式对其进行格式化。看看以下关于JSON->查询字符串格式的问题:谢谢你的帖子-你提到的问题让我有了90%的机会,这个jQuery助手=>$.param(record.toJSON());唯一缺少的是,当我执行通常的delete record['id']或delete record.id时,我需要从post/put中排除id,但它仍然保留。。。(也许还有一个问题)我不确定我是否理解你关于排除身份证的问题。。。为什么要排除id?这只是我使用的django rest框架的一个观点。创建新“person”的http POST需要除id之外的所有attr。PUT在uri中有id,因此不需要在通过线路发送的数据中-