Ruby on rails Emberjs和Ember数据。13不必要地保存相关模型

Ruby on rails Emberjs和Ember数据。13不必要地保存相关模型,ruby-on-rails,ember.js,ember-data,Ruby On Rails,Ember.js,Ember Data,我有一些模型的关系类似于以下: 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')

我有一些模型的关系类似于以下:

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')
下面是正在发生的事情。假设我为一个特定视图加载了所有模型。在这种观点下,有一个动作是主演HellaFavorite文章(我知道这很可笑)

当我连接所有这些并单击该操作时,Ember会向“/hella_favorite”和“/favorite”端点发出PUT

为什么会这样?我宁愿它没有,我认为它实际上可能导致了一个错误,尽管我还不能证实这一点。但是,我确实发现,当我从HellaFavoriteArticle模型中删除与文章的关系时,Ember不再向两个端点发出请求。因此,这让我猜测,余烬“决定”根据共享关系更新这两个模型

一方面,这是一些相当狡猾的魔法,但另一方面,我不知道该去哪里克服它


蒂亚

我想真正奇怪的是,余烬/余烬数据命中两个端点,但仅在第一次更新时,在后续更新时,它只命中我需要它命中的端点……那么为什么它只命中一次呢?可能是因为它无法在内部更新模型?您可以发布模板和控制器的代码吗?用jsbin或jsfiddle来说明这个问题是很理想的。我花了很多时间,试图模拟一个没有fixture的示例,但是使用静态服务来服务JSON不会重现这个bug。我可能会启动一个简单的Heroku应用程序,看看是否可以复制。