Tôi không nghĩ rằng những gì bạn muốn làm là một cách chính xác để giải quyết vấn đề như vậy.
Thay vào đó, điều tôi sẽ đề xuất là chỉ cần ghi đè end_date
phương pháp trong mô hình:
def end_date
super == Float::INFINITY ? DateTime::Infinity.new : super
end
Về cơ bản, điều này cho biết nếu end_date
trong db là Float::INFINITY
return DateTime::Infinity.new
dưới dạng end_date
, nếu không, hãy trả lại những gì trong cơ sở dữ liệu.