如何在rake填充任务中获得随机日期时间?

时间:2011-01-29 23:08:47

标签: ruby-on-rails datetime rake populate auto-populate

  User.all.each do |user|
    7.times do
      user.schedules.create!(:user_id => user.id, :start_time => Time.now, :length => 25)
    end
  end

如何使用Time.random方法替换Time.now?我发现this有助于获取随机日期时间,但我如何在Rake任务中使用此方法?

1 个答案:

答案 0 :(得分:1)

您引用的文章重新打开Time类并添加随机方法。所以,虽然我不提倡这样做,但你可以添加

class Time       
   def self.random(params={})
      ...
   end

end

直接到你的rake文件。另一种方法是将此代码添加到lib目录中的文件 - 'monkey_patch_time.rb',然后添加

require 'monkey_patch_time'

到你的rake文件的顶部。我更喜欢这种方法,因为它允许你在其他地方使用这种方法。另外,我喜欢在中心位置收集所有的猴子补丁。