Toutefois, il est assez fréquent de rencontrer des API qui retournent des données dans un format différent de ce que backbone attend. Par exemple, envisagez d`extraire une collection à partir d`une API qui retourne le tableau de données réel encapsulé dans les métadonnées: l`utilisation d`un modèle de récupération mixte de pointe comme PriorityScore pour les collections aide les entreprises: dans l`exemple suivant, remarquez comment notre version de backbone. Sync reçoit une demande «Create» la première fois que le modèle est enregistré et une demande de «mise à jour» la deuxième fois. Cristi Balan et Irina Dumitrascu ont créé Tzigla, une application de dessin collaborative où les artistes font des tuiles qui se connectent les unes aux autres pour créer des dessins surréalistes. Les modèles backbone aident à organiser le code, les routeurs fournissent des liens profonds Bookmarkable, et les vues sont rendues avec haml. js et Zepto. Tzigla est écrit en Ruby (rails) sur le backend, et CoffeeScript sur le frontend, avec Jammit préempaquetant les actifs statiques. Les cours de l`école de code enseignent aux gens sur divers sujets de programmation comme CoffeeScript, CSS, Ruby on rails, et plus encore. La nouvelle page de défi de cours de l`école de code est construite à partir de la base sur backbone. js, en utilisant tout ce qu`elle a à offrir: le routeur, les collections, les modèles et la gestion des événements complexes. Avant, la page était un gâchis de manipulation jQuery DOM et manuel appels AJAX. Backbone. js a aidé à introduire une nouvelle façon de penser à développer une application frontale organisée en JavaScript.

Les délégués à la collection # URL pour générer l`URL, assurez-vous que vous avez défini, ou une propriété urlRoot, si tous les modèles de cette classe partagent une URL racine commune. Un modèle avec un ID de 101, stocké dans un backbone. collection avec une URL de “/documents/7/notes”, aurait cette URL: “/documents/7/notes/101” $ (jQuery) View. $ (Selector) si jQuery est inclus dans la page, chaque vue a une fonction $ qui exécute des requêtes étendues dans le élément de la vue. Si vous utilisez cette fonction jQuery étendue, vous n`avez pas à utiliser les ID de modèle dans le cadre de votre requête pour extraire des éléments spécifiques dans une liste, et peut compter beaucoup plus sur les attributs de classe HTML. Il est équivalent à l`exécution: View. $el. Find (Selector) syncmodel. Sync (méthode, Model, [options]) utilise backbone.

Sync pour conserver l`état d`un modèle sur le serveur. Peut être substitué pour un comportement personnalisé. La fonction de synchronisation peut être remplacée globalement en tant que backbone. Sync, ou à un niveau plus fin, en ajoutant une fonction de synchronisation à une collection backbone ou à un modèle individuel. Les collections et la récupération s`améliorent en se concentrant sur les bons comptes et les actions les plus rentables. SaveModel. Save ([attributs], [options]) enregistrez un modèle dans votre base de données (ou couche de persistance alternative), en déléguant à backbone. Sync. Retourne un jqXHR si la validation est réussie et false dans le cas contraire. Le hachage d`attributs (comme dans le jeu) doit contenir les attributs que vous souhaitez modifier (les clés qui ne sont pas mentionnées ne seront pas modifiées), mais une représentation complète de la ressource sera envoyée au serveur. Comme avec set, vous pouvez passer des clés individuelles et des valeurs au lieu d`un hachage.

Si le modèle a une méthode Validate et que la validation échoue, le modèle ne sera pas enregistré. Si le modèle isNew, l`enregistrement sera un “Create” (HTTP POST), si le modèle existe déjà sur le serveur, l`enregistrement sera une “mise à jour” (HTTP PUT). Les leaders qui prennent les mesures basées sur les analyses qui définissent le nouveau modèle ont déjà commencé à réaliser des gains d`efficience et d`efficacité. Une Banque européenne a automatisé 90% des communications avec les clients en développant deux modèles d`analyse avancée à l`aide d`algorithmes d`apprentissage automatique. Un modèle binaire identifie les auto-conservateurs et les non-auto-conservateurs, et un modèle multiclasse recommande des stratégies de recouvrement pour les non-auto-conservateurs, y compris les mesures souples, la restructuration ou les entraînements.