2012-03-27 20 views
21

En Backbone.js puedo nombrar a donde el modelo obtiene los datos es:Backbone.js: urlRoot con cadena de consulta http?

var Book = Backbone.Model.extend({urlRoot : '/books'}); 
var mybook = new Book({id: "1"}); 
mybook.fetch(); //it will access '/books/1' 

Pero si quiero añadir una cadena de consulta después de la URL? p.ej. los datos del libro están en /books/1&details=true. ¿Puedo especificar esto en el modelo?

Respuesta

22

Deberá usar una función url personalizada para el modelo.

Book.url = function() { 
    return this.urlRoot + '/' + this.id + '?details=true'; 
}; 
45

También puede utilizar la opción por el método fetch

mybook.fetch({data:{details: true}}); 
+1

Aunque las obras de comentario aceptadas, esto parece ser el 'camino columna vertebral' – Tom

+0

Me gustaría que hubiera una manera de definirlo en una modelo/nivel de colección. De esta manera, debe pasar los 'datos' cada vez que llame a la búsqueda, sería bueno si pudiera simplemente establecer los' datos' una vez en el modelo en sí. – roberkules

Cuestiones relacionadas