我想在Ruby 2.0 Rails 4应用程序中为Date类创建一个新方法。在/ lib中添加一个新的'date_extensions.rb'用于在另一个Ruby 1.9 Rails 3.2应用程序中工作但不在这里。扩展现在非常简单:
class Date
def week_day
self.wday == 0 ? 7 : self.wday
end
end
我不喜欢把它放在初始化器中,因为它不断增长。有一个很好的解决方法吗?
答案 0 :(得分:2)
在某些时候,Rails停止将lib
目录添加到自动加载路径。另一个应用程序可能已设置自动加载lib
目录的设置,而您的新应用程序没有(但是?)。这就是为什么你必须通过初始化程序直接要求文件的原因。对于它的价值:我认为这是更好的方法 - 只在需要时加载代码。我通常会添加config/initializers/application.rb
,然后在其中添加require "date_extensions"
等要求。然后date_extensions.rb文件按照你的建议进入lib文件夹。