Je suis en train de faire une ligne POST à une page interne d'un test unitaire, et pour une raison quelconque, je reçois l'erreur suivante:Raw POST de Ruby on Rails
NoMethodError: undefined method `symbolize_keys' for #<String:0x258a910>
unit/call_route_attempt_test.rb:10:in `test_response_from_call_info'
Mon code ressemble ceci:
post :call_info, '<?xml version="1.0" encoding="UTF-8"?><request-call-info>...SOME XML HERE...</request-call-info>'
Cela devrait être bon selon les docs API. Le seul format que je peux aller travailler est si je l'envoie en tant que paramètres comme ceci:
post :call_info, :post => {:a_var => '<?xml version="1.0" encoding="UTF-8"?><request-call-info>...SOME XML HERE...</request-call-info>'}
J'ai le sentiment que je dois exiger une partie de la bibliothèque pour une raison quelconque ne fonctionne pas ici.
Modifier
Comme utilisateur souligne Sarah Mei, je vous appelle la mauvaise méthode de poste. Je pense que cela a à voir avec mon héritage de classe, que je ne suis pas sûr de pouvoir changer étant donné les circonstances dans lesquelles je fais un test. La définition de la classe est la suivante:
class anApiControllerTest < ActionController::TestCase
La méthode que je suis essayer à mettre en œuvre est le après (ActiveResource :: Connexion) Méthode figurant sur l'API Rails docs. Je suis vraiment nouveau à ce sujet, tout à fait perdu et sur une date limite. Toute aide est grandement appréciée. Merci!
Je pense que vous avez définitivement raison. Comment puis-je spécifier lequel appeler? – bloudermilk