2

当响应 json 根为单数时,我收到 Ember 错误。

json响应:

{"subscription": {"id": "1"}}

错误:

Assertion failed: Your server returned a hash with the key subscription but you have no mapping for it

模型:

App.Subscription

subscriptions如果我在 json 响应中传递复数根键,它工作正常。我不认为我应该这样做,因为如果只有一个资源要发送,单数版本是活动 _model_serializers 的默认行为。

这是 Ember 中的一个错误,还是我应该为此做些什么来得到支持?

4

1 回答 1

2

可能有帮助的是在您的适配器上定义复数。因此,对于名为App.Subscriptionthis 的模型,可能如下所示:

App.Adapter = DS.RESTAdapter.extend();
App.Adapter.configure('plurals', { "subscription": "subscription" });

编辑

至于.json一种可能的解决方案可能是挂钩buildURL您的功能RESTAdapter并自己添加.json后缀。这可能看起来像这样:

App.Adapter = DS.RESTAdapter.extend({
  buildURL: function(record, suffix) {
    var url = this._super(record, suffix);
    return url + ".json";
  }
})

这将要求http://localhost:4000//subscription.json

希望能帮助到你。

于 2013-07-11T07:11:27.170 回答