[ruby-it] Ricerche sui campi di un form
Andrea(Q)
stb a stb3.com
Dom 9 Dic 2007 20:07:10 CET
Lobo Czarnian wrote:
> Andrea(Q) wrote:
>
>> Lobo Czarnian wrote:
>>
>>> Salve a tutti, vorrei chiedere, in quanto inesperto di Rails, il metodo
>>> pi� appropriato per utilizzare i campi di un form come criteri di una
>>> query, senza dover compormi l'SQL da passare al metodo 'find_by_sql'
>>> (che credo sia anche un metodo vulnerabile all'sql injection ).
>>> Da premettere che non tutti i campi del form devono essere
>>> obbligatoriamente compilati.
>>>
>>>
>> ciao,
>>
>> puoi fare una cosa del genere, i punti interrogativi servono proprio per
>> seistemare l' sql injection, praticamente cos� facevo i parametri prima
>> di andare alla query vengono controllati(nn ricordo come).
>>
>> params[] � il vettore contenente i dati della form
>>
>> @travels = Travel.find(:all,
>> :include => [:user,:location],
>> :conditions => ["travels.date < ? AND
>> travel_departure >= CURDATE()",params["travel_date"]],
>> :order => "travel_departure
>> ASC,locations.seq")
>>
>
> Quindi posso passare direttamente l'hash params come parametro a find.
> Ma come si comporta con i campi non compilati?
> Nel senso che, riferendomi all'esempio che mi hai mandato, se il campo
> della form travel_date non venisse compilato, significa che dovrò
> modificare la stringa sql, e conseguentemente, eliminare il parametro
> travel_date dall'interno dell'hash ?
>
puoi mettere delle condizioni, una cosa del tipo params["travel_date"] |
"2007-11-11"
non è proprio così ma giusto per capirci
Maggiori informazioni sulla lista
Ml