레일 4 애플리케이션에 NG 리소스 게시를 수행 할 때 레일스가 올바른 매개 변수를 추가하지 않고 실제로 '게시'라는 예기치 않은 매개 변수를 추가합니다.레일 4가 AngularJS 리소스 게시물에 예기치 않은 매개 변수를 추가합니다.
내 서비스 :
App.factory('Rule', ['$resource', function ($resource){
return $resource('/json/rules/:id', {id:'@id'}, {
create: {method: 'POST'},
update: {method: 'PUT'},
delete: {method: 'DELETE'}
});
}]);
레일을 제공
namespace :json, defaults: {format: :json} do
resources :rules
end
레일 컨트롤러 :
class Json::RulesController < ApplicationController
respond_to :json
def create
rule = Rule.new(rule_params)
ap rule
rule.save! if rule.valid?
respond_with :json, rule
end
def update
rule = Rule.find(params[:id])
rule.update(rule_params)
respond_with rule
end
def rule_params
params.require(:rule).permit(:business_id, :raw_value => [])
end
end
나는 내 응용 프로그램에 게시물이 방법을 수행 할 때
$scope.rule.$update(function(){
$location.path('/businesses/{0}'.format($stateParams['id']));
}, SharedMessage.addResponse).finally(function(){
$rootScope.busy = false;
});
,691,363을
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate
Accept-Language:en-US,en;q=0.8,pt-BR;q=0.6,pt;q=0.4
Connection:keep-alive
Content-Length:142
Content-Type:application/json;charset=UTF-8
Cookie:hsfirstvisit=http%3A%2F%2Flocalhost%3A3000%2F%23%2Ftimeline||1402593173474; XSRF-TOKEN=GGNL6suNkGkOUEiUsEPxFE92C0AfCeLsT46GMrAJtoA%3D; __hstc=181257784.ee9ff47c4f98b78ed4d99e2ae1ee5edf.1402593173476.1415037010146.1415207051885.75; __hssrc=1; hubspotutk=ee9ff47c4f98b78ed4d99e2ae1ee5edf; _myapp_session=Uk9LS--914a262148c5784afe30087e8a5f6572fbf7d342
Host:localhost:3000
Origin:http://localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
X-CSRF-TOKEN:GGNL6suNkGkOUEiUsEPxFE92C0AfCeLsT46GMrAJtoA=
X-Requested-With:XMLHttpRequest
X-XSRF-TOKEN:GGNL6suNkGkOUEiUsEPxFE92C0AfCeLsT46GMrAJtoA=
Request Payload:{"raw_value":["from:me"], "business_id":"125", "volume":0}
레일 응용 프로그램은 다음과 같은 매개 변수를받습니다 : (210)
는 HTTP 포스트 자체는 다음과 같은 데이터를 전송
Parameters: {"raw_value"=>["from:me"], "business_id"=>"125", "volume"=>0, "base"=>{"raw_value"=>["from:me"], "business_id"=>"125", "volume"=>0}}
문제가 여기에 PARAMS에 객체 '규칙'을 수신하지에 의존
그리고이 이상한 '기본'매개 변수.
조회수가 얼마나 될지 알고 계십니까?
Angular가하는 요청을 공유 할 수 있습니까? – dubadub
http 게시물 자체를 의미합니까? – felipeclopes
예, 웹 검사기에서. – dubadub