Collection_select

Buongiorno.
Cerco di imparare Rails e Ruby sviluppando una applicazione che è giÃ
in produzione e risolvendo i problemi man mano che si presentano quindi
non vi
meravigliate se le mie domande nascondono una certa ignoranza.

Ho questo codice:

Paziente:

<%=@patients = Patient.find(:all, :order => "cognome,nome") collection_select("prescription", "patient_id", @patients, :id, :cognome) %> In questo modo la combo-box mi mostra i cognomi. Prima domanda come posso visualizzare nella combo-box cognome + nome ? Seconda domanda come posso filtrare dinamicamente l'intervallo di visualizzazione proposto nella combo? Es. Cognomi che iniziano per Maf ecc..

Certo di ricevere aiuto vi saluto
BM

Ho questo codice:

Paziente:

<%=@patients = Patient.find(:all, :order => "cognome,nome") collection_select("prescription", "patient_id", @patients, :id, :cognome) %>

Io ho visto che di solito si mette il ‘find’ nel controller.

In questo modo la combo-box mi mostra i cognomi.
Prima domanda
come posso visualizzare
nella combo-box cognome + nome ?

Forse qualcosa come @patients.map { |p| “#{p.nome}, #{p.cognome}” } ?

Seconda domanda come posso filtrare dinamicamente l’intervallo di
visualizzazione proposto nella combo? Es. Cognomi che iniziano per Maf
ecc…

:conditions per il find? Dipende un po’ come vuoi gestire la cosa.


David N. Welton

Linux, Open Source Consulting

Con questo funziona

Paziente:

<%=@patients = Patient.find(:all, :order => "cognome,nome").map {|p| [ p.cognome+' '+p.nome, p.id] } select(:prescription, :patient_id, @patients) %>

Rimane da capire come posso usare la collection_select:

Paziente:

<%=@patients = Patient.find(:all, :order => "cognome,nome") collection_select("prescription", "patient_id", @patients, :id, :cognome) %>

BM

Grazie per la risposta

Io ho visto che di solito si mette il ‘find’ nel controller.

Dopo lo sposto.

come posso visualizzare
nella combo-box cognome + nome ?

Forse qualcosa come @patients.map { |p| “#{p.nome}, #{p.cognome}” } ?

rimanendo invariata la riga sotto
collection_select(“prescription”, “patient_id”, @patients, :id,
:cognome)

non vi è la possibilità di accodare a :cognome anche il valore di :nome
?

:cognome è il text_method ?

ciao
BM