Come si può accedere a un modello da un controller? Attualmente utilizzando il codice seguente viene restituito un "indefinito non è una funzione" (vai alla figura JS fallire ...).Ember modello di accesso all'interno di un controller
modelli/plan.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
period: DS.attr('number'),
price: DS.attr('number'),
});
circuiti/checkout.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function(params) {
return this.store.find('plan', params.plan_id);
}
});
controller/checkout.js
import Ember from 'ember';
export default Ember.Controller.extend({
submitPayment: function(error, result)
{
var plan = this.get('model');
}
}
router.js
Router.map(function() {
this.route('checkout', {path: '/checkout/:plan_id'});
});
forse 'questo' non è il controllore in 'submitPayment'. SubmitPayment è un'azione? Se è così, dovresti metterlo in un oggetto azioni. Oppure controlla i soliti, il modello viene recuperato nel gancio del modello? – blessenm
submitPayment è solo una funzione chiamata all'interno di un'azione. Sì, il modello è in fase di memorizzazione, nessun problema lì. –
Invece di estendere 'Ember.Controller', prova 'Ember.ObjectController'. – blessenm