Convertire una string in un campo db

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”]%>

<% ex_field.length.times do |i|%> <% for bioex_item in @patient.bioex_items %> <% campo = "bioex_item." + ex_field[i].to_s%> *** <% end %> <% end%>
<%=ex_title[i]%> <%= campo%>

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


Dr. Marco Forlin
cell: 349 5322671
email: [email protected]

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! :slight_smile:

La risposta veloce è “usa send()”, e cioè, togli
<% campo = “bioex_item.” + ex_field[i].to_s%>
…e la riga sotto diventa:

<%= bioex_item.send(ex_field[i]) %>

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ì:

<% @fields_and_labels.each do |field_label, field_attr| %> <% for bioex_item in @patient.bioex_items %> <% end %> <% end %>
<%=h field_label %><%= bioex_item.send( field_attr ) %>

grazie mille!
ciao marco

On Dec 21, 2007 3:00 PM, David [email protected] wrote:

@fields_and_labels = {

Ciao,
<%=ex_title[i]%>
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
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Dr. Marco Forlin
cell: 349 5322671
email: [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs