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)代碼:
axios({
method: 'post',
url: '/api/v1/links.json',
responseType: 'json',
params: {
link: {
title: "My first title"
}
},
})
.then((response) => {
});
這似乎不是一個json的身體,但字符串。嘗試使用'postman',selct'POST'和'application/json'類型的'raw body'來執行請求。它應該工作。 –
請顯示向Rails後端發出請求的代碼。 –
你試過解析JSON嗎? JSON.parse(params)這將給出一個正確的json格式,而不是字符串 –