Wie kann auf ein Modell von einem Controller aus zugegriffen werden? Wenn Sie den unten stehenden Code verwenden, wird der Fehler "undefined is not a function" zurückgegeben (go figure JS fail ...).Ember-Zugriffsmodell in einem Controller
models/plan.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
period: DS.attr('number'),
price: DS.attr('number'),
});
Routen/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'});
});
vielleicht 'dies' nicht der Controller in 'submitPayment' ist. Ist submitPayment eine Aktion? Wenn ja, sollten Sie es in ein Aktionsobjekt einfügen. Oder kassieren Sie das Übliche, wird das Modell in den Modellhaken geholt? – blessenm
submitPayment ist nur eine Funktion, die innerhalb einer Aktion aufgerufen wird. Ja, das Modell wird gespeichert, keine Probleme. –
Anstatt "Ember.Controller" zu erweitern, versuchen Sie "Ember.ObjectController". – blessenm