![](/img/trans.png)
[英]Rails/Devise sign-in doesn't work on Safari (422/CSRF error)
[英]Angular + Rails: POST request 422/CSRF error
我不斷得到:
無法在2毫秒內驗證CSRF令牌的真實性已完成422無法處理的實體(ActiveRecord:0.0毫秒)
我試圖發出$ http請求以發布新的數據庫條目。 在RoR上使用Angular。
在我的Angular控制器中:
...
$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
找到了答案:將gem'angular_rails_csrf'添加到我的gemfile中。 文件: https : //github.com/jsanders/angular_rails_csrf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.