灰烬数据 - 更改模型URL

时间:2015-08-20 08:40:49

标签: ember.js ember-data

我正在使用ember 2.0和ember-data 2.0,我一直在努力寻找将自定义URL传递给模型的方法。

例如,如果我的模型名为Person并存储在model / person.js文件中,我希望其余的网络服务网址用于查找记录为xxx/user/1,或者换句话说要避免惯例,并将我的URL传递给休息服务 - 是否可以?

1 个答案:

答案 0 :(得分:3)

您可以使用适配器。

如果您的后端约定与Ember Data约定不同,则可以通过交换或扩展默认适配器来轻松更改其功能。

App.ApplicationAdapter = DS.RESTAdapter.extend({
  namespace: 'api/v1',
  pathForType: function(type) {
    return Ember.Inflector.inflector.singularize(type);
  }
});

如果您只想覆盖特定型号,只需使用modelName + Adapter编写新适配器 当我想使用自定义适配器来注明'模特我可以做类似的事情:

App.Note = DS.Model.extend({
   title: DS.attr('string'),
   /* others attrs */
});

App.NoteAdapter = DS.RESTAdapter.extend({
  namespace: 'other/endpoint',
  pathForType: function(type) {
   return Ember.Inflector.inflector.pluralize(type);
  }
});

看一下ember adapter guide,如果你使用ember-cli使用蓝图生成器,如:

ember generate adapter user