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

Time.nowをTime.randomメソッドに置き換えるにはどうすればよいですか?これはランダムな日時を取得するのに役立ちますが、Rakeタスクでこのメソッドを使用するにはどうすればよいですか?

4

1 に答える 1

1

引用した記事はTimeクラスを再開し、randomメソッドを追加します。だから、私はそれをすることを主張しませんが、あなたはただ追加することができます

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

end

rakeファイルに直接。別のアプローチは、このコードをlibディレクトリ内のファイルに追加することです-'monkey_patch_time.rb'、次に追加します

require 'monkey_patch_time'

rakeファイルの先頭に移動します。他の場所でもこの方法を使用できるので、このアプローチの方が好きです。さらに、私はすべてのモンキーパッチを中央の場所に集めるのが好きです。

于 2011-01-30T00:21:57.860 に答える