Sto implementando una semplice funzione di ricerca che dovrebbe verificare una stringa nel nome utente, nel cognome e nel nome. Ho visto questo metodo ActiveRecord su un vecchio Railscast:Rails ActiveRecord - Ricerca su più attributi
http://railscasts.com/episodes/37-simple-search-form
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
Ma come faccio a fare in modo che esso cerca la parola chiave nel nome, cognome e nome e restituisce il record se il uno dei campi corrisponde al termine?
Mi chiedo anche se il codice sul RailsCast è soggetto a iniezioni SQL?
Grazie mille!
Proprio quello di cui avevo bisogno. Grazie per averlo spiegato chiaramente! – maru
Cosa succede se il controller viene modificato per passare l'intero 'params' anziché solo' params [: search] 'e nella nostra query usiamo' "% # {params [: search]}%" 'invece di' "% # {search}% "'. È ancora immune alle iniezioni SQL? – Dennis
@Dennis si lo è. Finché stai usando? e passando argomento extra per sostituirli nella query stai bene. –