2016-06-21 7 views
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 
+0

Обычно вам нужно перехватчик для создания какого-либо типа JWT перед отправкой запросов на конечную точку рельсов. Это существующее приложение или новое приложение. –

+0

Существующий. Просто переместите некоторые функции в Angular. Я делал запросы раньше без каких-либо проблем, но через jQuery вместо Angular. –

+0

Я думаю, что этот пост подробно описывает его: http://stackoverflow.com/questions/14734243/rails-csrf-protection-angular-js-protect-from-forgery-makes-me-to-log-out- на. –

ответ

Смежные вопросы