SlideShare a Scribd company logo
Lezione su Ruby On Rails Prof. Silvano Natalizi Classe VAL – maggio 2009
Vogliamo progettare una funzione di ricerca dei dati di un database, che restituisca solo i record che soddisfano le specifiche richieste, indicate da opportuni criteri di ricerca.
 
Il progetto richiede che si creino: una nuova pagina di ricerca, dove l’utente possa inserire il nome del cliente Un’azione find nel controllore che elabora la ricerca Una pagina di risultati con la lista dei record restituiti dalla ricerca, e per ciascuno di essi un link al recordo dettagliato
 
Dobbiamo creare una form senza usare un modello. Usiamo  form_for  quando i campi della form sono associati agli attributi di un modello. In questo caso usiamo  form_tag
 
 
Una form_for è una form collegata ad un oggetto di un modello. Quando essa viene visualizzata, i valori dei suoi campi provengono dagli attributi dell’oggetto Una form_tag non è collegata a nessun oggetto. Essa è usata per un insieme di valori di campi individuali. Ad esempio per cose come campi di ricerca o per altri dati che non devono essere salvati su di un database.
La funzione di ricerca è una risorsa, non una pagina separata. Si può inserire in ogni pagina Ma aggiungere del codice ad ogni singola pagina significa avere tanto codice duplicato Possiamo aggiungere la ricerca ad un solo file? La risposta è si.
 
 
Anzitutto va chiarito che la stringa di ricerca digitata dall’utente nel campo di ricerca della form search, è disponibile al codice del controllore tramite l’array params[:search_string]
 
def find @client_workouts=ClientWorkout.find_all_by_client_name(params[:search_string]) end
find_all_by_date_of_workout(…) find_all_by_client_name(…) find_all_by_trainer(…) find_all_by_paid_amount(…) Un attributo di un modello corrisponde ad una colonna di una tabella del database. Pertanto ciascuno di questi finders può essere usato per trovare tutti i record con un particolare valore in una data colonna.
 
 
 
 
I finders generati per ogni attributo sono semplici, ma poco flessibili Spesso dobbiamo fare delle query più complesse Per questa ragione i finders hanno il parametro :conditions @client_workouts=ClientWorkout.find(:all,  :conditions=>[“client_name=‘Lenny Goldberg’ OR trainer=‘Lenny Goldberg’”]) Questa versione del finder restituisce tutti i record che hanno come trainer o come cliente ‘Lenny Goldberg’
 
 

More Related Content

PPTX
Progetto e sviluppo di un’applicazione per dispositivi mobili
PPT
Internazionalizzazione nel Sudest Asiatico
PPT
Social network e blog
PPT
COME IMPOSTARE L’UFFICIO ESTERO NELLE PMI
PPT
PPT
Laboratorio sulle ricerche di mercato
PDF
Objective Marketer piattaforma di social marketing by Sebastiano Cappa
PPT
Check up della comunicazione
Progetto e sviluppo di un’applicazione per dispositivi mobili
Internazionalizzazione nel Sudest Asiatico
Social network e blog
COME IMPOSTARE L’UFFICIO ESTERO NELLE PMI
Laboratorio sulle ricerche di mercato
Objective Marketer piattaforma di social marketing by Sebastiano Cappa
Check up della comunicazione

Viewers also liked (9)

PPT
L’organizzazione e l’operatività di un ufficio commerciale estero
PPT
Laboratorio cross culture
PPT
La comunicazione di impresa
PDF
SEO (Search Engine Optimization) Indicizzazione nei motori di ricerca
PPT
Ricerca di Mercato e internazionalizzazione
PPT
Ricerca e selezione rivenditore agente
PPT
Come fare marketing internazionale con poche risorse
PDF
Partecipare efficacemente alle fiere all'estero
PDF
Business Model Canvas - Il caso PlayWood
L’organizzazione e l’operatività di un ufficio commerciale estero
Laboratorio cross culture
La comunicazione di impresa
SEO (Search Engine Optimization) Indicizzazione nei motori di ricerca
Ricerca di Mercato e internazionalizzazione
Ricerca e selezione rivenditore agente
Come fare marketing internazionale con poche risorse
Partecipare efficacemente alle fiere all'estero
Business Model Canvas - Il caso PlayWood
Ad

Similar to Database Finders (11)

PPT
Lezione Guidata Ruby On Rails Insert
PDF
Sviluppo web con Ruby on Rails
PDF
09 API V8 for Dummies
PPT
Lezione Guidata Ruby On Rails Show
PDF
Testing Rails: Model vs Integration
PDF
Ruby in 25 minuti
ZIP
Introduzione a Ruby On Rails
PPT
Esercitazioneguidata Rubyon Rails Lista
ODP
Sviluppo applicazioni in Ruby on Rails
Lezione Guidata Ruby On Rails Insert
Sviluppo web con Ruby on Rails
09 API V8 for Dummies
Lezione Guidata Ruby On Rails Show
Testing Rails: Model vs Integration
Ruby in 25 minuti
Introduzione a Ruby On Rails
Esercitazioneguidata Rubyon Rails Lista
Sviluppo applicazioni in Ruby on Rails
Ad

More from Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA (20)

PPTX
Procedimentodisoluzione fisicaparticelle
PPTX
Proc solescercaparabolastaccasegmentosuassex
PPT
Problema fisica compito in classe
PPT
Esercizi sulla energia meccanica
PPT
Lezione Blog Didattici 27 4 2010
PDF
Lezione dappubblicaresulblogvale
PPT
Lezione programmazione database con java Servlet - quarta parte
PPT
Lezione jsp su come gestire una tabella relazionale con chiave esterna
PPT
Lezione jsp pdatabase crud quintaparte
PPT
Lezione js pdatabasecrudterzaparte
Procedimentodisoluzione fisicaparticelle
Proc solescercaparabolastaccasegmentosuassex
Problema fisica compito in classe
Esercizi sulla energia meccanica
Lezione Blog Didattici 27 4 2010
Lezione dappubblicaresulblogvale
Lezione programmazione database con java Servlet - quarta parte
Lezione jsp su come gestire una tabella relazionale con chiave esterna
Lezione jsp pdatabase crud quintaparte
Lezione js pdatabasecrudterzaparte

Recently uploaded (9)

PPTX
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
PDF
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
PDF
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
PPTX
Copia di PROGETTO VIOLENZA sulle donne PCTO
PDF
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
PDF
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
Copia di PROGETTO VIOLENZA sulle donne PCTO
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...

Database Finders

  • 1. Lezione su Ruby On Rails Prof. Silvano Natalizi Classe VAL – maggio 2009
  • 2. Vogliamo progettare una funzione di ricerca dei dati di un database, che restituisca solo i record che soddisfano le specifiche richieste, indicate da opportuni criteri di ricerca.
  • 3.  
  • 4. Il progetto richiede che si creino: una nuova pagina di ricerca, dove l’utente possa inserire il nome del cliente Un’azione find nel controllore che elabora la ricerca Una pagina di risultati con la lista dei record restituiti dalla ricerca, e per ciascuno di essi un link al recordo dettagliato
  • 5.  
  • 6. Dobbiamo creare una form senza usare un modello. Usiamo form_for quando i campi della form sono associati agli attributi di un modello. In questo caso usiamo form_tag
  • 7.  
  • 8.  
  • 9. Una form_for è una form collegata ad un oggetto di un modello. Quando essa viene visualizzata, i valori dei suoi campi provengono dagli attributi dell’oggetto Una form_tag non è collegata a nessun oggetto. Essa è usata per un insieme di valori di campi individuali. Ad esempio per cose come campi di ricerca o per altri dati che non devono essere salvati su di un database.
  • 10. La funzione di ricerca è una risorsa, non una pagina separata. Si può inserire in ogni pagina Ma aggiungere del codice ad ogni singola pagina significa avere tanto codice duplicato Possiamo aggiungere la ricerca ad un solo file? La risposta è si.
  • 11.  
  • 12.  
  • 13. Anzitutto va chiarito che la stringa di ricerca digitata dall’utente nel campo di ricerca della form search, è disponibile al codice del controllore tramite l’array params[:search_string]
  • 14.  
  • 16. find_all_by_date_of_workout(…) find_all_by_client_name(…) find_all_by_trainer(…) find_all_by_paid_amount(…) Un attributo di un modello corrisponde ad una colonna di una tabella del database. Pertanto ciascuno di questi finders può essere usato per trovare tutti i record con un particolare valore in una data colonna.
  • 17.  
  • 18.  
  • 19.  
  • 20.  
  • 21. I finders generati per ogni attributo sono semplici, ma poco flessibili Spesso dobbiamo fare delle query più complesse Per questa ragione i finders hanno il parametro :conditions @client_workouts=ClientWorkout.find(:all, :conditions=>[“client_name=‘Lenny Goldberg’ OR trainer=‘Lenny Goldberg’”]) Questa versione del finder restituisce tutti i record che hanno come trainer o come cliente ‘Lenny Goldberg’
  • 22.  
  • 23.