模型 用户有很多公司(一对多的关系)。 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
答案 0 :(得分:0)
问题是我分配给这条路线的模型。我以前将登录的用户指定为模型,并访问他们的公司列表,如:
App.MyCompaniesRoute = Ember.Route.extend({
model: function(){
return this.store.find("user", 1); // ID is 1 for example
}
});
我应该为这条路线设置模型,因为商店中与当前登录用户具有相同用户的所有公司,例如:
model: function(){
this.store.filter("company", function(company){
return company.get("user") == currentUser; // Current user model
});
}
谢谢!