我正在尝试在我的主干模型上设置一个变体获取方法,该方法将为给定用户获取当前模型。这可从 API 上获得/api/mealplans/owner/{username}/current
。
我写了以下模型。我注释掉了 URL Root,因为原型 fetch 调用只是使用了urlRoot
,我想看看它是否覆盖了我以某种方式传入的 url 参数。
var mealPlan = Backbone.Model.extend({
name: 'Meal Plan',
//urlRoot: '/api/mealplans',
defaults: {},
fetchCurrent: function (username, attributes, options) {
attributes = attributes || {};
options = options || {};
if (options.url === undefined) {
options.url = "/api/mealplans/owner/" + username + "/current";
}
return Backbone.Model.prototype.fetch.call(this, attributes, options);
},
validate: function (attributes) {
// To be done
return null;
}
});
我已经看到这样做了,在其他地方的一些变化中,例如在主干.js 使用不同的 url 进行模型保存和获取- 在这种情况下,代码略有不同(我从它开始并将其分解以使其更容易供我阅读。)
当我将选项对象传递给 fetch 时,选项对象中的 url 参数很好,但它似乎忽略了它!