Estoy portando una aplicación antigua para usar backbone.js (con suerte) El problema es que ninguno de los diversos objetos del sistema usa 'id' para id - cada objeto es diferente . Leyendo, he encontrado la solución a continuación al inicializar el Backbone.Model.Backbone: usar un nombre de campo diferente para id
initialize: function(){
this.idAttribute = 'user_ID';
this.set({'id':this.get('user_ID')});
}
Estoy preocupado, sin embargo, que a medida que me desarrolle con la columna vertebral este enfoque me va a picar. ¿Alguien tiene alguna experiencia con esto? Cualquier apuntador muy apreciado.
editar: Acabo de llamar a isNew() en el modelo y me hice cierto, aunque ahora el ID está establecido en 1. //////////////////// ///////////////////////
El uso de lo siguiente parece solucionarlo.
User = Backbone.Model.extend({
idAttribute : 'user_ID'
})
apreciar este - gracias. – Chin
Acabo de tropezar con esto cuando me pregunté si debería usar id-sufijos como "id_user" en lugar de "id" en mi esquema de base de datos relacional para un proyecto de red troncal. Me convencí de que era mejor usarlos de acuerdo con [esto] (http://stackoverflow.com/a/1369773/2236166), y luego pensé "Doh, pero los campos de ID para los modelos de la red troncal ...", hasta que lea este Q & A. ¡Gracias! –
Un poco obvio, pero no use .get ('id') a menos que desee el valor de identificación original (si tiene uno). Siempre use 'model.id'. – backdesk