ligne de commande curl POST
Je suis en train de simuler un POST pour mon Rails simple échafaudage de service web. Les fichiers créés par l'échafaud n'ont pas été modifiées. Quand je POSTE des données à partir du formulaire sur le site, un dossier est créé correctement.
Lorsque je tente de POSTER avec curl, un enregistrement est créé dans la base de données, mais il a des valeurs NULL dans les champs, à l'exception de "updated_at" et "created_at'. Je suis nouveau sur la ligne de commande curl donc je peut pas le faire correctement.
curl -d "name=Gazoo&friend=Rubble" localhost:3000/flintstones
Je serai de retour ce de WEBrick:
Commencé POST "/pierrafeu" pour 127.0.0.1 à Thu Apr 28 18:04:47 -0600 2011 Traitement par FlintstonesController#créer comme Paramètres: {"nom"=>"Gazoo", "ami"=>"Décombres"} AREL (de 0,3 ms) INSERT INTO "pierrafeu" ("nom", "ami", "created_at", "updated_at") VALUES (NULL, NULL, '2011-04-29 00:04:47.779902', '2011-04-29 00:04:47.779902') Redirigé vers http://localhost:3000/flintstones/4
Après pour le json
curl localhost:3000/pierrafeu.json
- Je recevoir:
[{"flintstone:{"name":null,"created_at":"2011-04-29T00:09:58Z","updated_at":"2011-04-29T00:09:58Z","id":4,"friend":null}}]
Pourquoi dois-je obtenir la valeur null dans mes champs?
Merci d'avance.
source d'informationauteur Kurt
Vous devez vous connecter pour publier un commentaire.
J'ai googlé un peu et chaque exemple d'utilisation de curl avec un rails de service web montre les paramètres transmis dans le format
object[paramName]=paramValue
ainsi que d'un
-d
définir pour chaque paramètre, ce qui rendrait votre CURL déclaration de ressembler àcurl -d "flintstone[name]=Gazoo" -d "flintstone[friend]=Rubble" localhost:3000/flintstones
Voici les sources, je suis référencement:
Rails
Rails De Services Web
Rails (par défaut) ne ressemble pas à un poste au corps de la manière prévue, "
name=Gazoo&friend=Rubble
". Il ressemble à ce régime - compte tenu de votre modèle est Pierrafeu et vos champs nom et ami - "Flintstone[name]=Gazoo&Flintstone[friend]=Rubble
". C'est du rail DSL pour le post du corps à partir d'un formulaire post.