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.