Я пытаюсь настроить метод выборки на моей базовой модели, который будет отображать текущую модель для данного пользователя. Это доступно в API на /api/mealplans/owner/{username}/current
.
Я написал следующую модель. Я прокомментировал URL-адрес Root, так как вызов fetch prototype был просто с помощью 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;
}
});
Я видел это, в некоторых вариантах в других местах, например, в backbone.js используют разные URL-адреса для сохранения и выбора модели - в этом случае код немного отличается (я начал с этого и сломал его, чтобы облегчить мне чтение.)
Объект options имеет параметр url в нем отлично, когда я передаю его для извлечения, но тогда он, кажется, игнорирует его!