我知道应该存在的模型的id,并且我想创建一个与此模型具有belongsTo
关联的记录。但是,我想在创建关联时只提供id,而不是首先查询关联的模型。这可能吗?
这就是我想要的工作(或其中的一些变体):
store.createRecord('person', {childId: '1', name: 'billybob'});
这是针对如下定义的模型:
Person = DS.Model.extend({
name: DS.attr('string'),
child: DS.belongsTo('child'),
});
指南建议如下:
store.createRecord('person', {child: child, name: 'billybob'});
在某个时刻已经从商店中提取child
或者是新创建的记录。
我希望然后让孩子侧身。这可以避免需要后端上的端点直接处理子项,因为它们总是通过人员端点处理。
由于我们只给后端ID,如果该记录实际上不存在,则需要失败。
我尝试了各种排列,例如:
store.createRecord('person', {child: {id: '1'}, name: 'billybob'});
并尝试自定义模型的序列化程序,但没有成功。
非常感谢任何帮助。
答案 0 :(得分:0)
我认为最好的方法是先用store.push()
创建记录。然后,您可以使用store.unload
从记录中删除商店,或确保adapter.shouldReloadRecord
为此记录返回true
,以便下次find
时加载它