Я использую Restangular для загрузки объекта, его обновления и последующего восстановления на сервере с помощью метода save
. Вот код, который извлекает объект:Использование save или put with Restangular results in «undefined» входит в URL-адрес
Restangular.one("survey", surveyID).getList().then (
function (response) {
$scope.survey = response[0];
}
);
Это устанавливает $scope.survey
к правильно «restangularized» объект с полями, которые возвращаются из запроса GET, наряду с методами, как save
, put
и т.д.
Если я затем вызвать следующую функцию после внесения некоторых изменений в $ scope.survey объекта:
$scope.saveChanges = function() {
$scope.survey.save();
};
restangular пытается использовать URL /survey/1/undefined
для запроса PUT (1 является правильный идентификатор для объекта).
В моем survey
объекте нет поля id
(это вместо surveyID
), и поэтому я подозревал, что это может быть проблемой. Однако, заменив surveyID
поле с id
поле изменили URL, чтобы быть /survey/1/undefined/1
Я урезанная объект, возвращаемый запросом GET быть только примитивы, и это не меняет ситуацию.
Почему генерируется неправильный маршрут?