0
я получаю:Угловое + Rails: запрос POST 422/CSRF ошибка
не удается проверить подлинность CSRF токен Завершена 422 Unprocessable Entity в 2мс (ActiveRecord: 0.0ms)
Я пытаюсь чтобы сделать запрос $ http для публикации новой записи db. Использование угловой над RoR.
внутри моего углового регулятора:
...
$scope.createArea = function(data){
var areaData = $scope.areaData;
var url = '/locations/' + locationService.id + '/floors/' + floorService.id + '/areas.json'
$http({
url: url,
method: 'POST',
contentType: "application/json",
data: areaData
});
};
моя форма:
<div class="form-horizontal" id="new-area" ng-controller="mapsController">
<form ng-submit="createArea(areaData)">
<div id="name-group" class="form-group">
<label>Name</label>
<input type="text" name="name" class="form-control" placeholder="Area Name" ng-model="areaData.name" /><br />
<label>Group</label>
<select class="form-control">
<option ng-repeat="group in groups" value="{{group.id}}" ng-model="areaData.groupID">{{group.name}}</option>
</select>
</div>
<button type="submit" class="btn btn-default">Create</button>
</form>
</div>
в мой контроллер рельсах:
def create
respond_to do |format|
format.json
end
end
Обычно вам нужно перехватчик для создания какого-либо типа JWT перед отправкой запросов на конечную точку рельсов. Это существующее приложение или новое приложение. –
Существующий. Просто переместите некоторые функции в Angular. Я делал запросы раньше без каких-либо проблем, но через jQuery вместо Angular. –
Я думаю, что этот пост подробно описывает его: http://stackoverflow.com/questions/14734243/rails-csrf-protection-angular-js-protect-from-forgery-makes-me-to-log-out- на. –