Active Record e valore posticcio

Buongiorno a tutti,
ho una tabella con l’inventario dei toner, con un campo che riporta la
data di utilizzo degli stessi.
L’idea è che se tale campo è NULL, il toner è ancora in magazzino.

Ora con RoR mi riesce difficile fare questo controllo/validazione.

Nella vista per l’Update, ho messo una CheckBox collegata alla variabile
membro (fittizia) available.

<%= check_box ‘toner’, ‘available’ %>Toner ancora in magazzino

E nel modello, ho inserito il seguente codice

def available
read_attribute(“used_on”) == ‘NULL’
end

def available=(val)
if (val == ‘1’)
write_attribute(“used__on”, ‘NULL’)
end
end

Ma non funziona, vale a dire che la funzione getter va bene, e mi rileva
quando nel db vado a settare a NULL la data, ma la funzione setter no:
la condizione dalla check box me la valuta giusta, ma sul db mi scrive
sempre la data impostata nei combo box automatici.

Come posso fare? il mio scopo alla fine è avere nell’interfaccia un
controllo per definire la data affiancato ad un checkbox per impostarla
a NULL (come in PhpMyAdmin, per intenderci…)

Grazie
saluti

c’è un doppio underscore nel nome

ti consiglio di usare la naming convention di rails

magari usando un metodo available? come getter e available! come setter

Il 03/09/07, Giuliano U. [email protected] ha scritto:

<%= check_box ‘toner’, ‘available’ %>Toner ancora in magazzino> > E nel


Sai cosa è successo oggi?
http://notizie.msn.it_______________________________________________
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away

Grazie per le risposte…

Il doppio underscore (in used__on) è un errore di copia+incolla.
Riguardo invece alla naming convention, non ho capito bene…
dovrei chiamare le funzioni così ?

def available?
read_attribute(“used_on”) == ‘NULL’
end

def available!=(val)
if (val == ‘1’)
write_attribute(“used__on”, ‘NULL’)
end
end

Ma a parte che la seconda ha un errore di sintassi che non riesco a
risolvere, quello che volevo era proprio una simil-variabile, ossia una
variabile posticcia Toner.available, che quando la leggo, va a
controllare la data, e quando la scrivo va ad impostarmi la stessa.
Il tutto per ‘fondersi’ con la form, la quale giustappunto va a
riferirsi alle variabili interne del modello, ad esempio ho

<%= text_area ‘toner’, ‘person’ %>

che si riferisce al campo ‘person’, sia in lettura che in scrittura.

Forse sbaglio proprio l’approccio, in VB.Net una cosa del genere è
possibile, e avevo capito che anche in Ruby lo fosse, forse però mi
perdo in Active Record… non so…

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