Sto eseguendo il porting di una vecchia app per utilizzare backbone.js (si spera) Problema è nessuno dei vari oggetti nel sistema usa 'id' per id - ogni oggetto è diverso . Leggendo intorno, ho trovato la soluzione qui sotto quando si inizializza il Backbone.Model.Backbone - utilizzando un nome di campo diverso per ID
initialize: function(){
this.idAttribute = 'user_ID';
this.set({'id':this.get('user_ID')});
}
Sono preoccupato comunque che mentre mi sviluppo con la spina dorsale questo approccio mi morderà. Qualcuno ha qualche esperienza con questo. Qualsiasi suggerimento molto apprezzato.
modifica: Ho appena chiamato isNew() sul modello ed è diventato vero, anche se l'ID ora è impostato su 1. //////////////////// ///////////////////////
L'utilizzo di quanto segue sembra risolvere il problema.
User = Backbone.Model.extend({
idAttribute : 'user_ID'
})
apprezzare questo - grazie. – Chin
Appena mi sono imbattuto in questo quando mi sono posto la domanda Se dovrei usare suffissi id come "id_user" invece di "id" nel mio schema di database relazionale per un progetto backbone. Mi sono convinto che è meglio usarli secondo [questo] (http://stackoverflow.com/a/1369773/2236166), poi ho pensato "Doh, ma i campi ID per i modelli backbone ...", fino a quando leggi questo Q & A. Grazie! –
Un po 'ovvio ma non utilizzare .get (' id ') a meno che non si desideri il valore id originale (se ne hai uno). Usa sempre "model.id". – backdesk