Ember-data以大写字母发送请求

时间:2013-12-30 19:03:25

标签: ember.js ember-data

我的ember-data存在问题。我有一个名为“optionValue”的模型。当我保存我的模型时,它会将以下网址发送到我的服务器:

  

www.myapi.com/optionValues

由于“V”,这不起作用。我需要全部小写的请求。任何人都知道我应该如何进行?我在后端尝试过多个东西,但没有什么可做的。无论如何,我认为在URL中使用大写字母并不是一个好主意。

干杯。

2 个答案:

答案 0 :(得分:0)

似乎Ember只是将模型名称复数化。您可以通过覆盖适配器上的pathForType函数来更改此值(我假设您使用的是默认的RESTAdapter)。

    DS.RESTAdapter.reopen({
      pathForType: function(type) {
        var decamelized = Ember.String.decamelize(type);
        return Ember.String.pluralize(decamelized);
      };
    });

另请参阅pathForType的api文档:http://emberjs.com/api/data/classes/DS.RESTAdapter.html#method_pathForType

如果您使用Rails作为后端,最好使用ActiveModelAdapter,其中包括pathForType等行为;)

答案 1 :(得分:0)

我一直在挖掘,终于找到了我自己的任务的答案。 RESTAdapter有一个buildUrl方法。我只是

DS.RESTAdapter.reopen({
    buildURL: function(record, suffix) {
      return this._super(record,suffix).toLowerCase();
    }
});