Ich dachte, dass Rails JSON-Parameter automatisch identifiziert/analysiert, wenn die Anfrage als JSON erkannt wird. Aber die Anfrage unter:Starke Parameter mit JSON-Anfrage
Processing by Api::V1::LinksController#create as JSON
Parameters: {"link"=>"{\"title\":\"My first title\"}"}
Und die folgende params Methode:
def link_params
params.require(:link).permit(:title)
end
Ergebnisse in diesem Fehler:
NoMethodError (undefined method `permit' for "{\"title\":\"My first title\"}":String):
Irgendwelche Ideen, was hier der Konvention ist stark params + json zu erhalten Arbeiten würde sehr geschätzt werden.
aktualisieren
Hier ist der Code, der die Anforderung (mit http-Client axios) macht:
axios({
method: 'post',
url: '/api/v1/links.json',
responseType: 'json',
params: {
link: {
title: "My first title"
}
},
})
.then((response) => {
});
Dies scheint nicht ein JSON-Körper, sondern String. Versuchen Sie, die Anfrage mit 'postman', select' POST' und 'row body' vom Typ' application/json' auszuführen. Es sollte funktionieren. –
Bitte zeigen Sie den Code an, der eine Anfrage an das Rails-Backend stellt. –
Haben Sie versucht, JSON zu analysieren? JSON.parse (params) Dies wird ein korrektes JSON-Format anstelle der Zeichenfolge –