2010-06-18 23 views
3

J'ajoute de la recherche de texte intégral à mon site Rails et permet aux utilisateurs de saisir des guillemets dans la zone de saisie de la recherche. Le problème est que les guillemets semblent être filtrés par Mongrel et donc je ne reçois jamais ces guillemets dans les valeurs du hash params. Comment puis-je empêcher cela? Je cours Rails 2.3.8.Rails: perdre des guillemets dans les paramètres de publication

[Edit: les données d'analyse ajoutée]

En Firebug je vois le paramètre après être affiché correctement avec des guillemets:

search_criteria "great post" 

Dans le journal de développement, cependant, les citations sont partis:

Traitement PostsController # search (pour 127.0.0.1 at 2010-06-18 17:28:45) [POST] Paramètres: {"search_criteria" => "great post", "action" => "recherche", "authenticity_token" => "xUaOc1IAyjQmKn1NGqBpPVaTBmD4ayPq/lUJsqJGCxY =", "contrôleur" => "messages"}

Et quand je me connecte le contenu et la taille des params [: search_criteria] dans le contrôleur, je reçois:

search criteria = great post 
search criteria size = 10 

[Edit: nouvelle découverte] Ce problème décrit ci-dessus ne se produit pas lorsque la chaîne entre guillemets est traîna ou précédée d'un autre caractère, par exemple un espace.

+0

Pouvez-vous poster le hash params enregistré? – tadman

+0

Tout à fait sûr, oui. Voir les données d'analyse ajoutées. –

Répondre

3

Apparemment, il s'agit d'un bug dans le rack 1.1.0. Le correctif [patch here] a été créé pour le rack 1.2.0. Cependant, actionpack (et donc, rails) 2.3.6 à 2.3.10 dépendent du rack ~> 1.1.0, donc ils ont tous ce problème.

solutions possibles avec le plus probable qui se passe réellement commandé premier ...

  • Patch votre copie de support basé sur fix ci-dessus
  • Mise à jour vers Rails 3

This question a des conseils sur la façon de rack de patch.

0

This page a des instructions étape par étape sur la façon de patcher rack via le code source de votre application; pas de déconner avec des gemmes nécessaires. Cela a fonctionné comme un charme pour moi (Rails 2.3.10). Etes-vous sûr qu'ils sont filtrés?