Ich glaube nicht, dass das, was Sie tun möchten, der richtige Weg ist, um ein solches Problem zu lösen.
Was ich stattdessen vorschlagen würde, ist, einfach das end_date
zu überschreiben Methode im Modell:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Dies besagt im Grunde, ob end_date
in db ist Float::INFINITY
gibt DateTime::Infinity.new
zurück als end_date
, andernfalls zurückgeben, was in der Datenbank ist.