Ruby on rails 找不到rake任务的应用程序/utils类

Ruby on rails 找不到rake任务的应用程序/utils类,ruby-on-rails,rake,Ruby On Rails,Rake,我在Date添加了一个方法,如下所示: class Date def days_different(date) Float(self-date) end end 这在我的应用程序的其余部分工作得很好,但是我在lib/tasks/database.rake中也有一个rake任务,它在没有加载该任务的地方使用它,尽管该任务依赖于=>:environment(大大简化了测试版本,如下所示) 奇怪的是,rake:test在加载其环境时加载helper函数,所以我完全不明白为什么不在ra

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

class Date
  def days_different(date)
    Float(self-date)
  end
end
这在我的应用程序的其余部分工作得很好,但是我在lib/tasks/database.rake中也有一个rake任务,它在没有加载该任务的地方使用它,尽管该任务依赖于=>:environment(大大简化了测试版本,如下所示)

奇怪的是,rake:test在加载其环境时加载helper函数,所以我完全不明白为什么不在rakedb中加载它


有什么想法吗?

您没有提到将扩展日期类放在何处,但我认为您必须在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)

Date是用rails加载的-它似乎比my app/utils/Date.rb扩展在rake db:test_days_不同的上下文中运行时没有加载,而是在运行rake test或WEBrick dev环境中加载。
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)