2012-09-21 6 views
7

ho utilizzato dorsale relazionale (https://github.com/PaulUithol/Backbone-relational) per costruire la mia domanda, perché ho un modello (in camera) con un sacco di altri modelli allegati:Backbone relazionale - non può istanziare più di un ,,,

  • Camera ha molti Commento
  • camera appartiene alla posizione

Come si può vedere nella this issue continuo a ricevere l'errore

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

Ogni volta che si modifica Visualizza o ricarica una raccolta.

Ora so che c'è un filo here in cui suggeriscono di usare findOrCreate ma non sono l'accesso ai modelli singolarmente, ma sto usando invece Collection.fetch. C'è un modo per aggirare questo problema?

+0

ho avuto quel problema ... io non knnow perché, ma ho cancellato la relazione inversa e risolvere problemi dal momento ... –

+0

Ahh. Non ho configurare il rapporto inverso ... – GTF

+0

Date un'occhiata a questo: http://stackoverflow.com/questions/12224122/backbone-relational-cannot-instantiate-two-relationalmodel-objects#answer- 12224192 – macool

risposta

0

Ho avuto simile problema e 'successo che ho bisogno di inizializzare modello con funzione di:

model: -> 

    return new Project.Models.ModelName() 

Quando si require_tree. in application.js i file di modello vengono caricati successivamente rispetto ai file di raccolta (in ordine alfabetico). L'impostazione del modello con la funzione attende fino a quando l'app non viene eseguita.

+0

Non sono abbastanza sicuro di cosa intendi ... Prima di usare 'Collection.fetch()', dovrei prima istanziare un modello? – GTF

1

Ho avuto un problema simile, l'ho risolto passando alle associazioni Backbone.

https://github.com/dhruvaray/backbone-associations

L'interfaccia è quasi esattamente lo stesso con solo alcune piccole differenze in modo porting dovrebbe essere abbastanza semplice.

2

con backbone-relazionale è possibile ottenere o creare oggetti dall'archivio relazionale. Usalo per creare oggetti relazionali:

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

Con questo creerà un nuovo oggetto o ne otterrà uno dal negozio relazionale.

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

+1

Funzionerebbe ma i modelli vengono recuperati dinamicamente, dalle Collezioni. – GTF

Problemi correlati