ember all ember.js ember-data ember-app-kit

ember.js - all - Ember App Kit con datos de brasas



ember model get all (3)

Estoy tratando de comenzar un nuevo proyecto con el kit de aplicación de brasas y los datos de la asamblea usando ES6. Pude crear una tienda usando el siguiente código en adapter.js

var ApplicationAdapter = DS.FixtureAdapter.extend(); export default ApplicationAdapter;

Sin embargo, no puedo crear un modelo y acceder a él. En models/account.js tengo esto

var Account = DS.Model.extend({ name: DS.attr(''string'') }); Account.FIXTURES = [ { ''id'': 1, ''name'': ''Acc 1'' }, { ''id'': 2, ''name'': ''Acc 2'' } ] export default Account;

y en mis routes/accounts.js tengo esto:

var AccountsRoute = Ember.Route.extend({ model: function() { var store = this.get(''store''); return store.find(''account''); } }); export default AccountsRoute;

En esta etapa, simplemente estoy tratando de obtener una lista de cuentas de los dispositivos que se muestran en la pantalla. La ruta funciona bien y si pongo datos estáticos (como la ruta de índice) todo funciona bien. Sin embargo, con el código anterior, me encuentro con problemas

DEPRECATION: Action handlers contained in an `events` object are deprecated in favor of putting them in an `actions` object (error on <Ember.Route:ember352>) at Object.triggerEvent (http://localhost:8000/vendor/ember/index.js:30519:13) at trigger (http://localhost:8000/vendor/ember/index.js:29641:16) at handleError (http://localhost:8000/vendor/ember/index.js:29903:9) at invokeCallback (http://localhost:8000/vendor/ember/index.js:8055:19) at null.<anonymous> (http://localhost:8000/vendor/ember/index.js:8109:11) at EventTarget.trigger (http://localhost:8000/vendor/ember/index.js:7878:22) at http://localhost:8000/vendor/ember/index.js:8180:17 at Object.DeferredActionQueues.flush (http://localhost:8000/vendor/ember/index.js:5459:24) at Object.Backburner.end (http://localhost:8000/vendor/ember/index.js:5545:27) index.js:394 Error while loading route: Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…} index.js:394 Uncaught #<Object> index.js:30566

¿Dónde estoy equivocado?


Su modelo de Account está utilizando DS.RESTAdapter lugar de DS.FixtureAdapter , porque está configurando el adaptador en ApplicationAdapter , el esperado es AccountAdapter . Entonces recibe un error del ajax, probablemente porque la url no coincide con un servidor.

Para configurar DS.FixtureAdapter por modelo, use:

var AccountAdapter = DS.FixtureAdapter.extend(); export default AccountAdapter;

O como adaptador global para todos los modelos:

App.Store = DS.Store.extend({ adapter: DS.FixtureAdapter });

Espero que ayude


Estaba obteniendo el mismo error ...

Sin embargo, pude solucionarlo importando mi ApplicationAdapter y usándolo para definir mi tienda:

app / adapters / application.js:

var ApplicationAdapter = DS.FixtureAdapter.extend(); export default ApplicationAdapter;

app / store / application.js:

import ApplicationAdapter from ''appkit/adapters/application''; var Store = DS.Store.extend({ adapter: ApplicationAdapter }); export default Store;

Tenga en cuenta que aún no he cambiado el nombre de la aplicación predeterminada de appkit, es posible que tenga que cambiar este nombre o las rutas para hacer que esta función sea adecuada para usted.


Creo que el verdadero problema fue que definiste tu Adaptador de Fixture en los adaptadores / adapter.js .

Cuando llamaste:

store.find(''account'');

Encontró correctamente el modelo pero luego buscó el adaptador correcto. No tiene un adapters / account.js por lo que utilizó la aplicación predeterminada, que se ha mencionado es un RESTAdapter.

Para que su ejemplo funcione, simplemente cambie el nombre del archivo.