我有一个名为“SessRequest”的模型,其中包含字段“sess_start”(会话的开始日期时间)和“sess_duration”(会话持续时间以小时为单位)。因此,会话的结束时间是:sess_start + sess_duration.hours 我需要过滤掉所有“end_time”晚于当前时间的会话。为此,相应的模型范围如下所示:
SESSION_ASSUMED_PAST_AFTER_HRS = 3
scope :past,
lambda{where('(sess_start < :current_time) AND (sess_start IS NOT NULL)', :current_time => 0.days.from_now - SESSION_ASSUMED_PAST_AFTER_HRS.hours)};
我想根据“sess_duration”数据库字段而不是常量 SESSION_ASSUMED_PAST_AFTER_HRS 来创建这个范围。如何在保持数据库不可知的同时做到这一点?