2017-05-03 5 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を取得するために何ですか働くことは非常に高く評価されるだろう。

更新

ここで(HTTPクライアントaxiosで)要求を行うコードです:ドキュメントを1として

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

これはjsonボディではなく文字列のようです。 'postman'を使ってリクエストを実行しようとします。' POST'と 'application/json'の' raw body'を指定してください。それは動作するはずです。 –

+0

Railsバックエンドにリクエストするコードを表示してください。 –

+0

JSONの解析を試しましたか? JSON.parse(params)これは、文字列 –

答えて

1

here

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

data:params:を交換してください。

関連する問題