找不到rake任务的app / utils类

时间:2012-11-08 19:30:00

标签: ruby-on-rails rake

我在Date上添加了一个方法,如下所示:

class Date
  def days_different(date)
    Float(self-date)
  end
end

这在我的应用程序的其余部分中工作得很好,但是我在lib / tasks / database.rake中也有一个rake任务,它使用了这个,尽管有=> :环境依赖于任务(大大简化了下面显示的测试版本)。

task :test_days_different => :environment do
  date = 2.days.ago
  puts date.days_different(DateTime.now)
end

奇怪的是,rake:test在加载其环境时加载了辅助函数,所以我完全不知道为什么没有在rake db中加载它

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您没有提到扩展Date类的位置,但我认为您必须在rake文件中要求'date'。

如果没有require语句,此代码段无效:

require 'date'
class Date
  def days_different(date)
    Float(self-date)
  end
end

date = Date.new(2001,2,1)
puts date.days_different(DateTime.now)