0
我不斷收到:角+ Rails的:POST請求422/CSRF錯誤
無法驗證在2ms的完成422無法處理的實體CSRF令牌真實性 (ActiveRecord的:0.0ms)
我想做一個$ http請求來發佈一個新的數據庫條目。使用角度覆蓋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>
在我的rails控制器
:
def create
respond_to do |format|
format.json
end
end
通常,您需要一個攔截器才能向您的rails端點發送請求之前創建某種類型的JWT。這是現有的應用程序還是新的應用程序? –
現有。只需將一些功能移到Angular即可。我之前沒有提出任何問題,但通過jQuery而不是Angular。 –
我覺得這篇文章詳細闡述了一點:http://stackoverflow.com/questions/14734243/rails-csrf-protection-angular-js-protect-from-forgery-makes-me-to-log-out-上。 –