J'essaie d'envoyer du contenu XML via Post à une méthode du contrôleur («parse») («index») dans un projet de rails simples. Ce n'est pas reposant car mon nom de modèle est différent, disons, "voitures". J'ai ce qui suit dans un test fonctionnel qui fonctionne:
ActionController::Routing::Routes.draw do |map| map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format' end
3 Réponses :
webrat ne vous aidera pas ici, c'est pour les interactions basées sur le navigateur, de sorte que si vous spécifiez une API, cela ne vous aidera pas.
Vous pouvez utiliser "Post" dans le concombre, mais vous devez fournir le chemin complet de la action, pas seulement l'action. De plus, passez dans l'en-tête de type de contenu afin que les rails sait que vous passez en XML. P> sur le côté de réponse, vous pouvez procéder comme suit: P> response.should be_success
Accepté. Merci pour votre réponse!
La solution de Patrick Ritchie m'a également aidé aussi, mais j'avais besoin de faire une légère modification pour que cela fonctionne avec des rails 3.
post("/controller/index", xml_result, {"CONTENT_TYPE" => "text/xml"})
Merci beaucoup de gars, j'ai passé toute la journée à jurons. J'ajouterai un exemple avec l'authentification de base et avec Json, si d'autres personnes que moi la recherchent. BTW, et json p> et je les utilise dans Application / XML CODE> et
TEXT / XML CODE> fonctionne, mais pour JSON, vous avez besoin
Application / JSON CODE>.
spécifications / demandes code> sans aucun truc de navigateur webrat ou capybara . p> p>
@MBUF, si l'une des réponses résolut votre problème, vous devez la marquer comme "Réponse" en cliquant sur la coche ci-dessous la zone de vote.
Fait. Merci de me le faire savoir!
J'ai posté comment tester les postes JSON en utilisant des rails et un concombre ici: Stackoverflow.com/Questtions/5098626/...