2017-05-03 13 views
0

요청이 JSON으로 인식되면 Rails가 자동으로 JSON 매개 변수를 식별/구문 분석한다고 생각했습니다. 그러나 아래의 요청 :JSON 요청이있는 강력한 매개 변수

Processing by Api::V1::LinksController#create as JSON 
Parameters: {"link"=>"{\"title\":\"My first title\"}"} 

그리고 다음 PARAMS 방법 :이 오류에

def link_params 
    params.require(:link).permit(:title) 
end 

결과 :

NoMethodError (undefined method `permit' for "{\"title\":\"My first title\"}":String):

모든 아이디어를 여기에 규칙은 강력한 PARAMS + JSON을 얻기 위해 무엇 일하는 것은 대단히 감사 할 것입니다. 워드 프로세서 here으로 당

axios({ 
    method: 'post', 
    url: '/api/v1/links.json', 
    responseType: 'json', 
    params: { 
    link: { 
     title: "My first title" 
    } 
    }, 
}) 
.then((response) => { 
}); 
+1

이것은 json 본문이 아니라 문자열로 보입니다. 'postman', selct'POST' 및'application/json' 타입의'raw body '를 사용하여 요청을 실행하십시오. 그것은 작동해야합니다. –

+0

Rails 백엔드에 요청하는 코드를 보여주십시오. –

+0

JSON 구문 분석을 시도 했습니까? JSON.parse (params) 이것은 문자열을 –

답변

1

axios({ 
    method: 'post', 
    url: '/user/12345', 
    data: { 
    firstName: 'Fred', 
    lastName: 'Flintstone' 
    } 
}); 

data:params: 교체 :

업데이트

여기 (HTTP 클라이언트 axios에) 요청을 만드는 코드입니다.