当响应json root是单数时,我收到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
如果我在json响应中传递了多个根键subscriptions
,它可以正常工作。我不认为我应该这样做,因为单数版本是活动的默认行为
_model_serializers如果只有一个资源要发送。
这是Ember中的一个错误,还是我应该为此做些什么来支持?
答案 0 :(得分:2)
在适配器上定义复数可能有所帮助。因此,对于名为App.Subscription
的模型,这可能如下所示:
App.Adapter = DS.RESTAdapter.extend();
App.Adapter.configure('plurals', { "subscription": "subscription" });
修改强>
对于.json
,一种可能的解决方案可能是挂钩buildURL
的{{1}}函数并自行添加RESTAdapter
后缀。这看起来像这样:
.json
这会向App.Adapter = DS.RESTAdapter.extend({
buildURL: function(record, suffix) {
var url = this._super(record, suffix);
return url + ".json";
}
})
希望它有所帮助。