Ruby on rails 在'中更新记录;x';天?

Ruby on rails 在'中更新记录;x';天?,ruby-on-rails,postgresql,gem,Ruby On Rails,Postgresql,Gem,我有任务让我的用户一个接一个地完成并记录结果。根据结果,任务可能必须暂停“x”天,然后在“x”天之后,任务再次可用。有时它在任务队列中只返回“y”天,然后过期(task.active=0) 使用Rails 3实现此功能的最佳方法是什么?我正在使用Postgre 使模型属性处于非活动状态,\u直到为空或将来的日期。然后在模型中添加一个作用域,active,它只需检查该字段是nil还是

我有任务让我的用户一个接一个地完成并记录结果。根据结果,任务可能必须暂停“x”天,然后在“x”天之后,任务再次可用。有时它在任务队列中只返回“y”天,然后过期(task.active=0)


使用Rails 3实现此功能的最佳方法是什么?我正在使用Postgre

使模型属性
处于非活动状态,\u直到
为空或将来的日期。然后在模型中添加一个作用域,
active
,它只需检查该字段是
nil
还是


现在,要使某人在一段时间内处于非活动状态,请将
inactive\u设置为将来的某个日期。

为了更高效、更可读的查询,可以将
设置为活动状态\u,直到
一个
非空
字段并使用一个遥远的未来日期。如果Rails和Pg gem支持无限日期,则使用
+infinity
作为日期;否则使用最大的日期栏和Pg gem做支持。只有当相当大比例的记录有一个非空的
活动\u until
字段时,这才有意义;如果只有较小的部分设置了
active\u until
,则可以对未设置的部分使用
null
,并在
(active\u until)上创建部分索引,其中(active\u until不是null)