我有ember数据的问题.例如,我已经在http:// localhost /〜me / test创建了一个项目
在我的项目中,我创建了一个商店和一个模型,如下所示:
... init stuff here ... var attr = DS.attr; App.Person = DS.Model.extend({ firstName: attr('string'),lastName: attr('string'),}); App.Store = DS.Store.extend({ revision: 11,adapter: DS.RESTAdapter,});
现在当我搜索(在我的路线的某个地方)这样的人
var person = App.Person.find(params);
http:// localhost / persons?post_id = 10被调用.这当然不存在.我会期望像http:// localhost /〜me / test / persons?post_id = 10.更好的是http://localhost/~me/test/persons.PHP?post_id = 10如何更改此网址?
解决方法
这是Ember Data Beta 3
要处理前缀,可以使用DS.RESTAdapter的namespace属性.要处理后缀,您需要自定义DS.RESTAdapter的buildURL方法,使用_super()获取原始功能并进行修改.它应该看起来像这样:
App.ApplicationAdapter = DS.RESTAdapter.extend({ namespace: '~me/test',buildURL: function() { var normalURL = this._super.apply(this,arguments); return normalURL + '.PHP'; } });