Backbone-relational无法实例化两个RelationalModel对象

Stp*_*tpn 7 javascript model-view-controller backbone.js backbone-relational

我正在尝试实现BackboneRelational并继续获取

"无法实例化多个Backbone.RelationalModel,每个类型具有相同的id!"

class App.Models.User extends Backbone.RelationalModel
  urlRoot : '/api/users'
  idAttribute: 'id'

  relations: [
    type: Backbone.HasMany
    key: 'plots'
    relatedModel: 'App.Models.Plot'
    collectionType: 'App.Collections.Plots'
    includeInJSON: false
    reverseRelation:
      key: 'user_id',
      includeInJSON: 'id'
  ]


class App.Models.Plot extends Backbone.RelationalModel
  urlRoot : '/api/plots'
  idAttribute: 'id'
Run Code Online (Sandbox Code Playgroud)

如果我切换其中一个模型来扩展Backbone.Model我可以实例化这两个模型,但是我得到了关系功能被破坏的所有警告.

我想要实现以下目标:

 plot = new App.Models.Plot({id : 700})
 plot.fetch()
 plot.get('user')
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

rjz*_*rjz 10

"每个id的一个模型"情况背后的一般思想是Backbone Relational使用数据存储(Backbone.Relational.store)来消除对已经加载的模型的重复请求.

幸运的是,它还提供了一些帮助来帮助通过商店访问模型.您可以改为使用findOrCreate您将找到的附加方法,而不是提供ID并获取绘图App.Models.Plot:

plot = App.Models.Plot.findOrCreate(700)
user = plot.get('user')
Run Code Online (Sandbox Code Playgroud)