Forum: Italian Ruby user group inseirmento campo di ricerca per visualizzare una lista

Posted by fdibe nedetto (fdibenedetto72)
on 2010-07-26 12:53
Salve a tutti,
Vorrei creare una lista degli utenti in cui posso vedere alcune
informazioni
la tabella da me creata e' user (id,utente, pwd, ipaddress, interno ecce
ecc)
quindi tramite scaffold mi sono creato il mio bravo gestionale
nella index riesco a vedere tutti gli utenti ma qui stesso vorrei
aggiungere
un campo ricerca per utente ., dove mettendo per esempio "gio%" in una
input e premendo sul pulsanter "Cerca" mi dovrebbe visualizzare gli
utenti che soddisfano tale condizione .
Mi potreste aiutare ??

Grqazie in anticipo per chi si vuole prendere questa briga !!

Saluti
fdibenedetto72
Posted by Iwan B. (1w4n)
on 2010-07-26 14:14
Puoi usare la gem will_paginate (v. 
http://wiki.github.com/mislav/will_paginate/) che permette di 
restituirti su piu' pagine la lista dei tuoi record.
in particolare a questa pagina
http://wiki.github.com/mislav/will_paginate/simple-search

si spiega come fare quello che serve a te (con o senza paginazione), in 
particolare la questione relativa al GET/POST.

Ciao,
i.
Posted by Andrea Pavoni (apeacox)
on 2010-07-26 14:28
(Received via mailing list)
pui guardare questo railscast (un po' datato) per farti un'idea:

http://railscasts.com/episodes/37-simple-search-form

fondamentalmente si tratta di aggiungere una form nella index, che punta
a qualche azione del controller. il controller farà comunque la render
della index, popolandola con i risultati.

volendo, anzichè creare una nuova azione, potresti sfruttare l'azione
index e mettere qualcosa del genere:

def index
     if params[:search] # avrai una form di nome search
         @users = User.find_by_lastname(params[:search][:lastname])
     else
         @users = User.all
     end
end

il codice è scritto al volo, giusto per mostrarti la logica,
probabilmente avrai bisogno di fare una find diversa, impostando una
condizione LIKE, ma il funzionamento non si discosta molto ;)


ciao,
A.


Il 26/07/2010 12:53, Fabio Di benedetto ha scritto:
Posted by Raoul Bonnal (Guest)
on 2010-07-27 11:37
(Received via mailing list)
IL suggerimento è corretto, tranne forse per la sicurezza.
Attenzione a passare direttamente la stringa di ricerca con la notazione 
SQL, il sistema sarebbe prono a 
vulnerabilità.All'inizio è ok ma poi cerca di rendere il sistema un po piu sicuro almeno 
quotando l'espressione in ingresso.
Non ricordo se c'era un railscast in proposito.

http://guides.rubyonrails.org/security.html#sql-injection

--
Raoul J.P. Bonnal
Life Science Informatics
Integrative Biology Program
Fondazione INGM
Via F. Sforza 28
20122 Milano, IT
phone: +39 02 006 623  26
fax: +39 02 006 623 46
http://www.ingm.it
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.