Forse fare questo con un'applicazione Ember regolare avendo tutto il codice seduto in app.js sarebbe stato molto più facile per me. Ma dal momento che sto usando la CLI di Ember, ho problemi ad accedere al mio modello nella mia rotta. Sto ancora cercando di imparare come usare la CLI di Ember quindi ti prego di darmi una mano.Come accedere a Ember Model dalla Route in Ember CLI
Poiché desidero attivare le chiamate AJAX e ottenere i dati da rendere sulla mia interfaccia utente, ho scaricato e aggiunto la libreria del modello Ember al mio progetto. Non vedo la necessità di usare i dati di rame. Questa è la documentazione del modello di Ember a cui mi riferisco: https://github.com/ebryn/ember-model#example-usage. Detto questo, ecco la mia struttura di directory che Ember CLI proposto:
|-app
|-controllers
| |-customers.js
|-models
| |-customers.js
|-routes
| |-customers.js
|-templates
| |-customers.hbs
|-app.js
|-index.html
|-main.js
|-router.js
Questa è la rappresentazione più semplice della struttura del progetto vero e proprio che ho appena mettere a fuoco il problema. Come proposto nella documentazione Ember modello I aggiunto seguente codice per il mio modello Clienti (modello \ customers.js):
export default Ember.Model.extend({
nameid: attr(),
firstname: attr(),
middlename: attr(),
lastname: attr(),
prefixname: attr(),
suffixname: attr()
});
this.url = "http://restapi/api/customers";
this.adapter = Ember.RESTAdapter.create();
Si noti che ho dovuto fare il "default esportazione" al posto di "App.Customers = Ember.Model .estendere...". Questa è la convenzione di Ember CLI. Così, quando provo ad accedere al modello ho creato nei miei clienti Itinerario ottengo l'errore "Errore durante il caricamento di percorso: ReferenceError: App non è definito" ..
clienti codice Percorso:
export default Ember.Route.extend({
model: function() {
App.Customers.find();
},
actions: {
addnew: function(){
//logic of saving edited customer
alert('customer created!');
}
}
});
Ho provato questo .model() - Restituisce un oggetto di tipo supperWrapper e this.modelFor() - Restituisce null.
Si prega di suggerire come ottenere un handle del mio modello nel suo percorso in modo da poter eseguire le operazioni CRUD fornite immediatamente da Ember Model.
Grazie!
Grazie per la tua rapida risposta! È sistemato! Fare piccoli passi per imparare come lavorare con la CLI di Ember. Il motivo per cui ho scelto Ember Model su Ember Data è perché avevo bisogno di uno strato leggero (livello di accesso ai dati) senza persistenza. E sii onesto, è stato parzialmente anche a causa di tutta la presunta instabilità di Ember Data. – Vinay