in ember 2.7 mit glut Daten ich habe eine Route mit Modellen mit ‚RSVP.hash‘ wie das Beispiel hier erstellt:Wie kann ein Objekt in Glutendaten gespeichert werden, wenn das Modell aus mehr als einem Objekt besteht?
model: function(params){
return Ember.RSVP.hash({
customer: this.store.findRecord('customer', params.customer_id),
address: this.store.createRecord('address')
});
Ich möchte die ‚Adresse‘ Teil des Modells retten? model.save() gibt als Ergebnis: 'Uncaught TypeError: Modell ist keine Funktion' Was kann ich tun, um nur den Adressteil des Modells zu speichern?
dies ist die Aktion, die das Modell spart:
createAddress: function(model){
console.log(model.address.constructor);
model.address.save();
}
Modelle (Adresse):
import DS from 'ember-data';
export default DS.Model.extend({
id_address: DS.attr('number'),
id_customer_fb: DS.attr(),
id_customer: DS.attr('number'),
id_supplier: DS.attr('number'),
id_state: DS.attr('number'),
id_country: DS.attr('number'),
postcode: DS.attr('string'),
active: DS.attr('boolean'),
address1: DS.attr('string'),
address2: DS.attr('string'),
city: DS.attr('string'),
alias: DS.attr('string'),
company: DS.attr('string'),
vat_number: DS.attr('string'),
firstname: DS.attr('string'),
lastname: DS.attr('string'),
other: DS.attr('string'),
phone: DS.attr('string'),
phone_mobile: DS.attr('string'),
deleted: DS.attr('boolean'),
// date_add: DS.attr('date'),
// date_upd: DS.attr('date'),
customer: DS.belongsTo('customer')
});
Modelle Kunde:
import DS from 'ember-data';
export default DS.Model.extend({
id_count: DS.attr('number'),
id_customer: DS.attr('number'),
id_default_group: DS.attr('number'),
id_lang: DS.attr('number'),
id_gender: DS.attr('number'),
active: DS.attr('boolean'),
email: DS.attr(),
firstname: DS.attr(),
lastname: DS.attr(),
company: DS.attr(),
birthday: DS.attr('date'),
date_add: DS.attr('date'),
date_upd: DS.attr('date'),
max_payment_days: DS.attr('number'),
newsletter: DS.attr('boolean'),
note: DS.attr(),
website: DS.attr(),
addresses: DS.hasMany('address')
});
Vom Fehler messsage Sie könnten, das unmittelbare Problem geben, dass Sie 'this.get ('Modell zu sagen brauchen ') .save() '. Wie bereits erwähnt, können Sie einen solchen Hash nicht speichern. SO brauchen Sie 'this.get ('model.address'). Save()'. –
das gibt mir: Uncaught TypeError: Kann nicht lesen Eigenschaft 'Speichern' von undefined –
Sie müssen einige Debuggen. Untersuchen Sie den Wert von this.get ('model') 'und untersuchen Sie dann den Wert von this.get ('model.address')'. –