2009-06-08 10 views
0

Je souhaite désinfecter les données provenant de mon formulaire dans ActiveRecord. Surtout l'apostrophe avant qu'elle ne soit réellement incluse dans la requête SQL. Je veux que ce soit quelque chose raghu'\s si raghu's a été entré. Je l'ai déjà essayé d'utiliser:Désinfection des données de l'enregistrement actif

  • sanitize_sql_array
  • sanitize_sql_for_assignment
  • sanitize_sql_for_conditions
  • sanitize_sql_hash_for_assignment
  • sanitize_sql_hash_for_conditions

Mais aucun d'entre eux semblent échapper à l'apostrophe là par défaut ma requête SQL .

Répondre

2

Rails gérer beaucoup du santizing pour vous si vous utilisez le format suivant pour effectuer des recherches. Il exécutera les sous-méthodes nécessaires pour s'assurer que rien de potentiellement destructif n'est inséré dans la base de données. Pas sûr de la virgule seule, mais ça vaut le coup.

Model.find(:all, :condition => ["text_value = ?", params[:form_input]) 
Questions connexes