【发布时间】:2014-04-02 11:44:52
【问题描述】:
模型 一个用户有许多公司(一对多的关系)。 Ember 模型:
// User model
App.User = DS.Model.extend({
companies: DS.hasMany("company", {async: true})
});
App.Company = DS.Model.extend({
user: DS.belongsTo("user")
});
问题 当我创建一个新的公司模型,定义它的用户属性并保存()它时,用户的公司属性在我刷新页面之前不会更新。示例:
var user = this.get("controllers.application").get("model"); // Get user
company.set('user', user); // Set user to current user
company.save(); // Call POST HTTP verb to update db model
但是,作为一种变通方法,我可以将新的公司模型明确推送到公司的用户列表中,以便立即看到新公司。执行此操作后,我不调用 save() 。但是这一步有必要吗?
user.get("companies").pushObject(company); // Add company to users list of companies
应用详情
- 使用 Ember RESTAdapter
- 带有 Flask-SQLAlchemy 的后端 Flask 服务器
- 使用 Flask-Restless
【问题讨论】:
-
只是出于好奇,您可以尝试一下标记为
async的user关系吗?我认为这不是你的问题,但我从 Ember-Data 关系中看到了一些奇怪的事情。 -
不,不是这样。不过谢谢。我将尝试将“我的公司”路线的模型设置为来自商店的公司,其中用户 = 用户,而不是将当前登录的用户设置为模型。
-
很久没用Ember-Data了,先看看有没有经验的大侠能解答一下。如果没有,我可能会在下班时尝试一下。但无论哪种方式,重现该问题的 JSBin 都会对我们所有人有所帮助。 (它甚至可以帮助您找出问题的根源。)
标签: ember.js ember-data