如何更新ember-data中的关系
How to update relationships in ember-data
我有以下两个模型:
App.Domain = DS.Model.extend({
name: attr('string'),
users: DS.hasMany('App.User')
});
App.User = DS.Model.extend({
user: attr('string'),
domain: DS.belongsTo('App.Domain')
});
Domain
被加载到嵌入的User
记录中:
DS.RESTAdapter.map('App.User', {
domain: { embedded: 'load' }
});
如果我得到JSON数据,ember-data将正确解释它。
GET /users
{
"users": [
{
"id": 1,
"domain_id": 1,
"user": "test",
"domain": {
"id": 1,
"name": "example.com"
}
}
]
}
我的域名是这样的:
GET /domains
{
"domains": [
{
"id": 1,
"name": "example.com"
},
{
"id": 2,
"name": "example.org"
}
]
}
现在我的问题是:
如果我更新user
记录中的domain
, domain_id
的foreignKey将不会更新。如果我尝试提交这个脏记录,ember会将旧的domain_id
发送到服务器。我的代码有什么问题?我可以不更新belongsTo
字段来更新foreignKey
吗?
>>var user = App.User.find(1);
>>user.get('domain.id')
1
>>var newDomain = App.Domain.find(2);
>>newDomain.get('id')
2
>>user.set('domain', newDomain)
>>user.get('isDirty')
true
>>user.get('domain.id')
2
>>user.get('domain_id')
1
我认为你需要首先提交domain_id更新
相关文章:
- Ember Data DS.Model's set函数不起作用
- Ember.js 和 ember-data 与外部(另一个域)API 配合使用
- Ember-Data: Restful Put
- Ember-data 解析了错误的 API 端点
- 如何使用 Ember-CLI 在 ArrayController 中获取 Ember-Data 值
- 使用 Ember Data 检索 json 文件
- ember-data - store.find('model') 总是查询服务器
- Ember Data 1.0 加载路由时出错:类型错误:无法设置未定义的属性“类型键”
- Ember Data with Websockets
- Ember data EmbeddedRecordMixin
- Ember Data Beta 2 - Serializer/Deserializer for FixtureAdapt
- Ember Data 1.0 - 如何在数据加载时触发模型上的观察器
- ESO夹具适配器 - 如何在Ember Data 1.0 beta 2中修复适配器而没有数据错误
- Ember Data ajax call
- 在Ember JS+Ember Data中使用字符串而不是ID的URL
- 在不进行HTTP调用的情况下更新Ember Data中的特定记录
- 使用关系作为Ember.Data的查询
- Ember Data不允许在hasMany关系中存在重复条目
- 如何更新ember-data中的关系
- 序列化关系ember-data