2012-05-01 13 views
20

¿Se puede eliminar un modelo por identificación? La documentación dice que debe pasar el modelo en sí para eliminarlo.¿Eliminar un modelo de red troncal por ID?

¿Debo buscar primero el modelo y luego quitarlo? No puedo simplemente eliminarlo por ID?

Respuesta

26

¿Quieres decir eliminar el modelo de una colección? Al mirar los documentos, parece que necesita pasar un modelo real, pero el código fuente sugiere que puede pasar el modelo id o el modelo cid también, y todo lo anterior debería funcionar (también como matrices de todos los anteriores).

Así que todo lo siguiente debe ser equivalente:

collection.remove(myModel); 
collection.remove(myModel.id); 
collection.remove(myModel.cid); 
collection.remove([myModel]); 

No he probado esto, sin embargo.

+0

ah, bien, fresco gracias por la información – fancy

+3

Sí, mirando la fuente v1.0.0 Backbone, la función remove() obtiene el primer modelo de la colección utilizando la función get(), que acepta una modelo, id o cid. – jackocnr

+1

Cuanto más lo uso, más descubro que Backbone está poco documentado. –

1

Acabo de tropezar con esta publicación (no me pregunten cómo), el ID de model es por defecto algo así como c1 o c23. Si desea eliminar un modelo por ID de la colección, entonces simplemente obtener el modelo de la colección usando:

myCollection.get('c1');

Esto devolverá el modelo con ID c1, si desea eliminar de inmediato, simplemente pasa el modelo devuelto a la función de colecciones remove().

myCollection.remove(myCollection.get('c1'));

+1

Tenga en cuenta que el "predeterminado" que se trata aquí es el 'cid', no el' id'. Los modelos no tienen una identificación por defecto. – nrabinowitz

Cuestiones relacionadas