我已经指出了一些行为,我想看看是否有人可以解释。createRecord模型与多个关系相同的模型给出了多个可能的反比关系的错误
我在这里做了一个jsfiddle http://jsfiddle.net/iceking1624/PpWec/17/。要测试行为,请打开Web控制台,只需在“添加问题”按钮旁边的文本框中输入内容,然后点击按钮(“添加问题”)即可。
这里是DS.Model
模式:
App.Session = DS.Model.extend({
"questions" : DS.hasMany('App.Question') ,
"firstQuestion" : DS.belongsTo('App.Question')
});
App.Question = DS.Model.extend({
"session" : DS.belongsTo('App.Session'),
"choices" : DS.hasMany('App.Choice'),
"text" : DS.attr('string')
});
App.Choice = DS.Model.extend({
"session" : DS.belongsTo('App.Session'),
"question" : DS.belongsTo('App.Question'),
"text" : DS.attr('string')
});
当我做内SessionController
以下然后调用addQuestion
功能:
App.SessionController = Ember.ObjectController.extend({
addQuestion: function() {
var sessionModel = this.get('model');
var question = App.Question.createRecord({
"session" : sessionModel
});
this.get('questions').pushObject(question)
}
});
我碰到下面的“错误”,但它起到仍然预期:
Error: assertion failed: You defined the 'session' relationship on App.Question, but multiple possible inverse relationships of type App.Question were found on App.Session.
N嗷嗷我想通了,这是因为里面App.Session
我引用App.Question
两个领域:
"questions" : DS.hasMany('App.Question') ,
"firstQuestion" : DS.belongsTo('App.Question')
,但我不知道为什么灰烬在乎我有多个App.Question
关系?特别是为什么它会抛出一个错误,但完美的工作。这可能是一个错误吗?
有没有一种方法可以让Ember高兴而不是抛出错误?我真的需要在我的App.Session模型中使用firstQuestion
字段。
打开控制台,看看我的jsfiddle。这是我的问题的完美例子。然后尝试在App.Session = DS.Model
中注释firstQuestion
并观察错误如何神奇消失
感谢分享!保存了我的一天。 :) – splattne
仍帮助2013年11月20日嘿嘿。 –