Raphael J. Schmid wrote:
Hallo Liste,
folgendes Problem: ich muss eine Datumseingabe verarbeiten. In der
Datenbank gibt es ein Feld vom Typ datetime. Wenn der Benutzer aber ein
nicht valides Datum einträgt, ist das text_field nach dem Absenden des
Formulars leer. Also habe ich mit attr_accessor ein virtuelles Feld
angelegt, in das der Benutzer anstelle des realen Feldes hineinschreibt.
Wenn er nun einen Fehler macht, steht seine fehlerhafte Eingabe nach dem
Absenden zwar wie gewünscht zur Korrektur wieder im text_field bereit,
aber selbiges ist natürlich nicht mehr durch fieldWithErrors als
fehlerhaft markiert. Um die Markierung wiederzubekommen, kopiere ich in
einer after_validation-Methode die errors des realen Feldes in das
virtuelle Feld, was ebenfalls wunderbar funktioniert.
Wieso benutzt du eigentlich einen anderen Namen fuer dein Attribut?
Ueberschreibe doch einfach die setter und getter methoden und speichere
den Originalwert irgendwo ab. Dann mit read_attribute und
write_attribute einfach den Wert schreiben. Da sollten dann eigentlich
auch die validations laufen. Hoffe ich zumindest ;)
Urban
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug