J'utilise fetch dans l'action index du contrôleur backbone.js suivant :
App.Controllers.PlanMembers = Backbone.Controller.extend({
routes: {
"": "index"
},
index: function () {
var planMembers = new App.Collections.PlanMembers();
planMembers.fetch({
success: function () {
var recoveryTeam = planMembers.select(function (planMember) {
return planMember.get("TeamMemberRole") == "RecoveryTeam";
});
var otherMembers = planMembers.select(function (planMember) {
return planMember.get("TeamMemberRole") == "Other";
});
new App.Views.Index({ collection: { name: "Team", members: recoveryTeam }, el: $('#recoveryTeam') });
new App.Views.Index({ collection: { name: "Team", members: otherMembers }, el: $('#otherTeam') });
},
error: function () {
alert('failure');
showErrorMessage("Error loading planMembers.");
}
});
}
});
Le problème est que les résultats sont mis en cache. Ils ne tiennent pas compte des modifications apportées à la base de données. Est-il possible d'indiquer à backbone.js de ne pas mettre les résultats en cache ?
Je sais que je pourrais remplacer l'url de la collection et ajouter un horodatage, mais je cherche quelque chose d'un peu plus propre que cela.