Я пытаюсь сохранить запись с belongsTo ассоциации, но связанный с ним идентификатор всегда пуст:createRecord с belongsTo ассоциации
Клиент Модель
Docket.Customer = DS.Model.extend({
name: DS.attr('string'),
initial: DS.attr('string'),
description: DS.attr('string'),
number: DS.attr('string'),
archived: DS.attr('boolean'),
projects: DS.hasMany('project',{ async: true })
});
Проект Модель
Docket.Project = DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
number: DS.attr('string'),
archived: DS.attr('boolean'),
customer: DS.belongsTo('customer')
});
Сохранить действие в ProjectsController
var _this = this;
// create new record
var project = this.store.createRecord('project', this.getProperties('name','number', 'description', 'archived'));
// add customer with id 22 to project
this.store.find('customer', 22).then(function(customer) {
project.set('customer', customer);
});
// save if validation passes, otherwise show errors
project.save().then(function(){
_this.resetAndCloseForm(form);
}, function(response){
_this.set('errors',response.errors);
});
JSON отослан на сервер всегда так:
archived: false
customer_id: null
description: null
name: "foobar"
number: null
Я хочу, чтобы выбрать клиент проекта в переключателе. Есть ли какие-либо умные способы получить выбранный клиент в качестве записи или мне нужно загрузить его по идентификатору?
{{view Ember.Select
viewName="select"
contentBinding="customers"
optionLabelPath="content.name"
optionValuePath="content.id"
prompt="Pick a customer:"
selectionBinding="selectedCustomer"
}}
У меня такая же проблема, вы можете сказать мне, как исправил проблему? – JeskTop