2016-06-21 5 views
0

は、私が得続ける:角度+ Railsの:POSTリクエスト422/CSRFエラー

が2msの(ActiveRecordの:0.0ms)で422処理不能エンティティを完了したCSRFトークンの真正 性を検証することはできません

私がしようとしています新しいデータベースエントリを投稿する$ 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> 

def create 
    respond_to do |format| 
     format.json 
    end 
end 
+0

通常、レールエンドポイントにリクエストを送信する前に、ある種のJWTを作成するためにインターセプタが必要です。これは既存のアプリケーションか新しいアプリケーションかです。 –

+0

存在する。機能の一部をAngularに移動するだけです。以前は問題なくリクエストしましたが、Angularの代わりにjQueryを使用しました。 –

+0

私はこのポストがもう少し詳しく説明すると思います:http://stackoverflow.com/questions/14734243/rails-csrf-protection-angular-js-protect-from-forgery-makes-me-to-log-out-に。 –

答えて

関連する問題