2009-08-16 5 views
2

J'ai créé une application rails qui a une simple API RESTful json. Cela a fonctionné pendant un certain temps, mais maintenant nous avons rencontré un problème. Le framework javascript qui effectue les requêtes ajoute un en-tête "Content-Type" à toutes les requêtes. . . y compris les demandes GET. Il définit l'en-tête « application/json » et provoque l'application des rails pour planter et brûler avec cette erreur:L'application Rails se bloque et se bloque lors de l'envoi d'une requête GET avec l'en-tête Content-Type

/!\ FAILSAFE /!\ 2009-08-16 15:18:05 -0700 
    Status: 500 Internal Server Error 
    undefined method `split' for #<Mime::Type:0x00000100a85498> 

j'ai découvert il y a longtemps que la définition de cette tête pour les requêtes POST est nécessaire, mais cela semble avoir vraiment falsifié les requêtes GET. Je peux reproduire cette erreur facilement en utilisant une application comme "HTTP Client" - pas d'en-tête, GET réussi, oui en-tête, crash et graver!

Est-ce que quelqu'un a des idées sur ce qui pourrait être à l'origine de ce problème et comment puis-je accepter cet en-tête sur les requêtes GET dans mon application rails?

Merci d'avance!

(Aussi, ma configuration: nginx/0.8.5 Phusion passagers 2.2.4 rubis 1.9.1p129 (2009-05-12 révision 23412) [i386-darwin10.0.0b4] rails 2.3.2

Répondre

1

Cela semble être un bug dans Rails 2.3.2. Il y a une solution de contournement publiée here. On dirait que c'est fixé sur le bord des rails.

Questions connexes