在一段时间后更改对象属性?轨道

时间:2015-01-06 18:40:52

标签: ruby-on-rails ruby

我有一个允许用户注册的应用。但是,有些用户无法完全完成注册过程,从而将其降级为无效状态。 30天后,如果所述用户仍处于非活动状态,我希望他们的状态更改为休眠状态。我是新手,所以如果您需要更多信息,请询问。谢谢!

1 个答案:

答案 0 :(得分:1)

正如@jmm指出的那样,你可以使用Whenever gem(https://github.com/javan/whenever)并设置日常工作:

# config/schedule.rb
every 1.day, at: '4:00 AM' do
  dormant_users = User.where(status: 'inactive').where('created_at < ?', 30.days.ago)
  dormant_users.update_all(status: 'dormant')
end

此代码是一个示例,您可能无法按我建议的方式处理User的状态。