Seltsames Problem mit Datumswert im Formular

Hallo beinander,

warscheinlich seit ich den Server auf eine neue Platte umgezogen habe,
besteht folgendes Phänomen:

Model: schedule

title:string, body:text, point_of_time:timestamp
class Schedule < ActiveRecord::Base
validates_presence_of :title, :body, :point_of_time
end

Im Update-View folgendes:

<-- Originalwert

<-- das Format ist ok und hier egal

für den Body das gleiche…

Im Controller siehts folgendermaßen aus:

link = Schedule.find(params[:id])
if link.update_attributes!(params[:termine])
^^^^^^^ Exception: ActiveRecord::RecordInvalid

Und zwar ist der Wert von point_of_time angeblich leer!
Ist er aber nicht, wie ein Blickk in das Logfile beweist.
Lasse ich jedoch ‘validates_presence_of :point_of_time’ weg,
schreibt er mir tatsächlich NULL in die Spalte der Tabelle!
Aber es geht über script/console und auch auf dem
Testsystem - hab es grad ganz frisch aufs Prod-System übernommen.

Achso - die Parameter:

“termine”=>{“title”=>“PROBLEM, PROBLEM”,
“body”=>“DER TEXT”,
“point_of_time”=>“18.08.2008 - 00:00”}}
Ich sehe hier klar, das der Parameter point_of_time vorhanden
und gesetzt ist.

Auf beiden Kisten Rails 2.1.0 / Debian-Lenny / Postgres 8.3.3.
Die Ruby-Versionen unterscheiden sich jedoch:
Testsystem: ruby 1.8.6 (2008-02-26 patchlevel 5000) [i686-linux]
Produktiv.: ruby 1.8.6 (2008-08-08 patchlevel 286) [i686-linux]
(beides mal Handcomplilate)

Hier steig ich aus: wieso hat das ältere System einen größeren
Patchlevel als das vor 3 Wochen neu installierte? Und meine eigentliche
Frage: kann das damit zusammen hängen - und wieso überhaupt… ;(?

ratlos, Torsten

Torsten F. schrieb:

Hallo beinander,

warscheinlich seit ich den Server auf eine neue Platte umgezogen habe,
besteht folgendes Phänomen:

[…]

“body”=>“DER TEXT”,
“point_of_time”=>“18.08.2008 - 00:00”}}
Ich sehe hier klar, das der Parameter point_of_time vorhanden
und gesetzt ist.

ich hab einen unschönen Würgaround gefunden:
Anstatt ‘timestamp without timezone’ hab ich den Typ ‘character varying’
genommen und jetzt gehts komischerweise!

Der Code ist der gleiche geblieben…