[ruby-it] convertire una string in un campo db
harloc
marco a selam.it
Ven 21 Dic 2007 15:04:34 CET
grazie mille!
ciao marco
On Dec 21, 2007 3:00 PM, David <david.palm a iperbole.bologna.it> wrote:
> Per prima cosa mi sento di consigliarti di spostare il codice verso il controller (e magari anche il model) e lasciare il view il più pulito possibile. Credimi, ne va della tua salute a lungo termine! :-)
>
> La risposta veloce è "usa send()", e cioè, togli
> <% campo = "bioex_item." + ex_field[i].to_s%>
> ...e la riga sotto diventa:
> <td><b><%= bioex_item.send(ex_field[i]) %></b></td>
>
> Un modo un po' più pulito di farlo potrebbe essere:
>
> nel controller preparare un hash sifatto:
> @fields_and_labels = {
> 'Data' => 'date_bio',
> 'G.bianchi' => 'gb_bio',
> 'Emoglobina' => 'hb_bio'
> }
>
> (ci sono probabilmente modi più furbi per assegnare label ai campi, magari facendo un override di ActiveRecord::ConnectionAdapters::Colum#human_name)
>
> e nella view avere qualcosa così:
>
> <table>
> <% @fields_and_labels.each do |field_label, field_attr| %>
> <tr>
> <td><b><%=h field_label %></td>
> <% for bioex_item in @patient.bioex_items %>
> <td><b><%= bioex_item.send( field_attr ) %></td>
> <% end %>
> </tr>
> <% end %>
> </table>
>
>
> On Fri, 21 Dec 2007 14:37:47 +0100, harloc wrote:
> > Ciao,
> > forse il titolo non spiega bene quello che sto cercando.
> > Ho fatto un ciclo in questo modo:
> >
> > <% ex_title = ["Data", "G.bianchi", "Emoglobina"]%>
> > <% ex_field = ["date_bio", "gb_bio", "hb_bio"]%>
> >
> > <table>
> > <% ex_field.length.times do |i|%>
> > <tr>
> > <td>
> > <b><%=ex_title[i]%></b>
> > </td>
> > <% for bioex_item in @patient.bioex_items %>
> > <% campo = "bioex_item." + ex_field[i].to_s%>
> > *** <td><b><%= campo%></b></td>
> > <% end %>
> >
> > </tr>
> > <% end%>
> > </table>
> >
> > dove ho posizionato gli asterischi vorrei che la stringa fosse
> > convertita nel valore del campo del DB, come se
> > scrivessi bioex_item.date_bio (la prima volta per esempi).
> > Conoscete un metodo per fare quello che voglio?
> > Grazie,
> > ciao marco
> _______________________________________________
> Ml mailing list
> Ml a lists.ruby-it.org
> http://lists.ruby-it.org/mailman/listinfo/ml
>
--
Dr. Marco Forlin
cell: 349 5322671
email: marco a selam.it
-------------------------------------------
"se uno non vuole rischiare per un'opinione o non vale nulla la sua opinione
o lui non vale nulla"
E.Pound
-------------------------------------------
Maggiori informazioni sulla lista
Ml