Customer.find(:all, :select => 'id', :order => 'updated_at DESC', :readonly => true, :conditions => { :status_id => Customer.id_for_status(params[:id].to_sym) }, :offset => offset, :limit => 30).collect(&:id)
est dessus de ma requête dans ce que j'obtiens avertissement similaireAvertissement Obtenir: déni de service
Symbol conversion from unsafe string (parameter value) near line 33: params[:id].to_sym
Ceci est l'avertissement de déni de service. Quelqu'un at-il une idée de comment puis-je réparer cet avertissement?
Merci à l'avance
La méthode 'id_for_status' peut-elle être modifiée pour accepter une chaîne au lieu d'un symbole? – Baldrick
Juste une supposition éclairée: Essayez de tronquer à une longueur maximale raisonnable: 'params [: id] [0 ... 20] .to_sym'. Ma conjecture est que les rails essayent de vous protéger d'utiliser une énorme quantité d'espace interne de symbole (une fois qu'un symbole est utilisé, l'espace contenant ses caractères n'est jamais libéré). Si cela ne fonctionne pas, vous devrez valider le paramètre avant la conversion du symbole. – Gene
merci @Baldrick, ça marche –