Не мисля, че това, което искате да направите, е правилен начин за решаване на подобен проблем.
Това, което бих предложил вместо това, е просто да замените end_date
метод в модела:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Това основно казва if end_date
в db е Float::INFINITY
върне DateTime::Infinity.new
като end_date
, в противен случай връща това, което е в базата данни.