Ruby stdlib和Rails stdlib中的日期类不同

时间:2008-10-04 18:44:49

标签: ruby-on-rails ruby date

我想在rails应用程序中使用Date :: ABBR_MONTHS常量。我在http://www.ruby-doc.org/stdlib/看到了Ruby stdlib文档,它似乎没有这个常量。 但是,此常量位于http://stdlib.rubyonrails.org/

这两个库之间有什么区别?

这个常量正在我的unix部署机器上运行,但不在我的dev机器上运行。有谁可以解释最新情况?

2 个答案:

答案 0 :(得分:3)

ABBR_MONTHS是ActiveSupport提供给你的东西,它只是添加到Date类中。第一个库是ruby,第二个库是ruby on rails。由于Rails的版本不同,常量可能无法正常工作。

答案 1 :(得分:1)

ABBR_MONTHS由ActiveSupport添加到Date。

Rails实际上是一组宝石。 ActiveSupport的作用主要是为Ruby语言和其他不可知的工具添加细节,如Inflector和2.days创建Time实例的方式等。

因此,如果您出于某种原因需要在rails应用程序之外使用此类功能,那么您很幸运:

require 'rubygems' #If not already done
require 'activesupport'
puts Date::Format::ABBR_MONTHS.inspect
#=> {"oct"=>10, "jul"=>7, "jan"=>1, "dec"=>12, "jun"=>6, "apr"=>4, "feb"=>2, "may"=>5, "sep"=>9, "aug"=>8, "mar"=>3, "nov"=>11}