I use Rails 4, Ember 1.2.0 and Ember Data 1.0.0-beta.3 and DS.ActiveModelSerializer.
I have a problem saving a new record with a "has a lot" relationship. You need to create two model entries, but only with one POST request.
I have 2 models that look like this:
Lingohub.SupportCase = DS.Model.extend ({
subject: DS.attr ('string'),
status: DS.attr ('string'),
created_at: DS.attr ('date'),
supportCaseMessages: DS.hasMany ('supportCaseMessage')
});
Lingohub.SupportCaseMessage = DS.Model.extend ({
supportCase: DS.belongsTo ('supportCase'),
text: DS.attr ('string'),
created_at: DS.attr ('date')
});
:
Lingohub.SupportCasesNewRoute = Ember.Route.extend({
model: function() {
var support_case = this.store.createRecord('supportCase');
support_case.get('supportCaseMessages').createRecord();
return support_case;
}
});
: ( , ?)
<form {{action 'create' this on="submit"}} id="new_support_case">
{{input value=subject}}
{{!-- {{supportCaseMessages.0.text}} --}}
{{#each supportCaseMessages}}
{{textarea value=text}}
{{/each}}
<input type="submit">
</form>
"" :
Lingohub.SupportCasesNewController = Ember.ObjectController.extend({
actions: {
create: function(supportCase) {
var message = supportCase.get('supportCaseMessages.content')[0];
console.log(message.get('text'))
supportCase.save();
}
}
});
POST " "!!
{"support_case"=>{"subject"=>"aaaaaa", "status"=>nil, "created_at"=>nil}}
" " ?