我正在使用 Rails 4、Ember 1.2.0 和 Ember Data 1.0.0-beta.3和DS.ActiveModelSerializer。
我无法保存具有“有很多”关系的新记录。应该创建两个模型记录,但只能由一个 POST 请求创建。
我有 2 个模型,如下所示:
Lingohub.SupportCase = DS.Model.extend({ 主题:DS.attr('string'), 状态:DS.attr('string'), created_at: DS.attr('日期'), supportCaseMessages: DS.hasMany('supportCaseMessage') }); Lingohub.SupportCaseMessage = DS.Model.extend({ supportCase: DS.belongsTo('supportCase'), 文本:DS.attr('string'), created_at: DS.attr('日期') });
我的新路线创建支持案例和支持案例按摩:
Lingohub.SupportCasesNewRoute = Ember.Route.extend({ 模型:函数(){ var support_case = this.store.createRecord('supportCase'); support_case.get('supportCaseMessages').createRecord(); 返回支持案例; } });
我的新表单是这样的:(不知道能不能更简单的绑定一个子属性?)
<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}}
如何发送附加记录“支持案例消息”和关系?