我有一些模型的关系类似于以下内容:
App.User = DS.Model.extend
favorite_articles: DS.hasMany('App.FavoriteArticle')
hella_favorite_articles: DS.hasMany('App.HellaFavoriteArticle')
App.FavoriteArticle = DS.Model.extend
user: DS.belongsTo('App.User')
article: DS.belongsTo('App.Article')
starred: DS.attr('boolean')
App.HellaFavoriteArticle = DS.Model.extend
user: DS.belongsTo('App.User')
article: DS.belongsTo('App.Article')
starred: DS.attr('boolean')
App.Article = DS.Model.extend
favorite_article: belongsTo('App.Article')
hella_favorite_article: belongsTo('App.Article')
这是正在发生的事情。假设我为特定视图加载了所有模型。在这种观点下,有一个动作可以为 HellaFavoriteArticle 加注星标(我知道这很荒谬)。
当我连接所有这些并单击操作时,Ember 会向“/hella_favorite”和“/favorite”端点发出 PUT。
为什么会这样?我宁愿它没有,而且我认为它实际上可能会导致错误,尽管我还不能确认这一点。但是,我确实发现当我从 HellaFavoriteArticle 模型中删除与文章的关系时,Ember 不再触发对两个端点的请求。所以这让我猜测 Ember “决定”根据共享关系更新这两个模型。
一方面这是一些非常狡猾的魔法,但另一方面,我不知道去哪里覆盖它。
蒂亚!