createRecord正在创建具有空值的记录

时间:2018-10-06 20:04:32

标签: javascript ember.js

我有hasMany属性。 这是我的模特

status: DS.attr(), 
    OnInsert: DS.attr('boolean',{defaultValue: true}),
    rOnUpdate: DS.attr('boolean',{defaultValue: false}),
    filterQuery:DS.attr({defaultValue: {"condition": "AND", "subRules": [], "subGroups" : []}}),
    ruleCase:DS.hasMany('rule',{async:true}),

在我的hbs中,我创建了带有一些操作的按钮: 这是我的HBS代码:

<button type="button" class="btn btn-warning btn-sm" {{action 'createrecord'}}>Case</button>

然后在控制器中我定义了此操作: 这是我的控制器代码:

actions:{
    createrecord:function(){
        return this.store.createRecord('rulecase');
    }
}

但是每次我单击添加按钮时,它都会创建一个id为null的空记录,因为我无法在其上遍历model.ruleCase。 如何克服这个问题??

1 个答案:

答案 0 :(得分:0)

如果您希望能够将新规则集与模型相关联,则不需要ID。
修改createRecord方法并将其推送到model.ruleCase

createrecord:function(){
    const newRulecase = this.store.createRecord('rulecase');
    model.get('ruleCase').pushObject(newRulecase)
    return newRulecase;
}

如果还有其他原因导致您需要ID,则可以使用generateIdForRecord在客户端生成一个ID。您需要为ruleCase模型生成一个适配器文件,并为ID应用逻辑。