2012-09-21 45 views
7

我一直在使用骨幹關係(https://github.com/PaulUithol/Backbone-relational)來構建我的應用程序,因爲我有很多其他型號的連接模型(室):骨幹關係 - 不能實例化一個以上的,,,

  • 房有許多評論
  • 房屬於位置

正如你可以看到this issue我不斷收到錯誤

Error: Cannot instantiate more than one Backbone.RelationalModel with the same id per type

每當我更改查看或重新加載集合。

現在我知道有一個線程here他們建議使用findOrCreate,但我不是單獨訪問模型,而是使用Collection.fetch。有沒有解決這個問題的方法?

+0

我有這個問題......我不knnow爲什麼,但我刪除的反向關係和問題,通過的那一刻... –

+0

啊解決。我沒有配置反向關係... – GTF

+0

看看這個: http://stackoverflow.com/questions/12224122/backbone-relational-cannot-instantiate-two-relationalmodel-objects#answer- 12224192 – macool

回答

0

我有類似的問題,它的發生,我需要功能初始化模式:

model: -> 

    return new Project.Models.ModelName() 

當你require_tree。在application.js中,模型文件比集合文件(字母順序)更晚加載。使用函數設置模型一直等到應用程序執行完畢。

+0

我不太清楚你是什麼意思...你的意思是在使用'Collection.fetch()'之前,我應該首先實例化一個模型? – GTF

2

與骨幹關係,您可以從關係商店獲取或創建對象。使用它可以創建關係對象:

this.model = someModel.findOrCreate({id: 123}) 

使用它可以創建新對象或從關係存儲中獲取現有的對象。

http://backbonerelational.org/#RelationalModel-findOrCreate

+1

這將工作,但模型正在被集合動態提取。 – GTF