jsonapiadapter ember all ember.js ember-data

ember.js - ember - ¿Cómo se accede al host y al espacio de nombres de RESTAdapter dentro de una ruta o controlador?



jsonapiadapter ember (1)

Tengo algunas solicitudes AJAX personalizadas que uso dentro de algunos controladores y rutas, por ejemplo:

var loginRoute = Ember.Route.extend({ actions: { submitLogin: function(user, pass) { var data = { username: user, password: pass }; Ember.$.post(''http://192.168.2.10/api/v1/login'', data).then(); } } });

Esto funciona bien, pero durante el desarrollo puedo tener una IP diferente (por ejemplo, cambiar los enrutadores) y me gustaría poder acceder a la URL (host + namespace) que definí cuando extendí el adaptador RESTA para que solo tenga que cambiar el host y / o namespace una vez, en lugar de cada lugar donde hago una solicitud de ajax personalizada.

App.ApplicationAdapter = DS.RESTAdapter.extend({ host: ''http://192.168.2.10'', namespace: ''api/v1'' });


Resulta que puede acceder al Adaptador desde la tienda a través de this.store.adapterFor(''application'')

El nuevo método submitLogin podría verse así:

submitLogin: function(user, pass) { var data = { username: user, password: pass }, host = this.store.adapterFor(''application'').get(''host''), namespace = this.store.adapterFor(''application'').namespace, postUrl = [ host, namespace, ''login'' ].join(''/''); // http://192.168.2.10/api/v1/login Ember.$.post(postUrl, data).then(); }