2008-10-04 4 views
3

Я хочу использовать константу Date :: ABBR_MONTHS в моем приложении rails. Я вижу документацию Ruby stdlib по адресу http://www.ruby-doc.org/stdlib/, которая, похоже, не имеет этой константы. Однако эта константа находится на http://stdlib.rubyonrails.org/Класс даты, отличный от Ruby stdlib и Rails stdlib

В чем разница между этими двумя библиотеками?

Эта константа работает на моей машине развертывания unix, но не на моей машине dev на окнах. Кто-нибудь может объяснить, что происходит?

ответ

3

ABBR_MONTHS - это то, что вы получаете от ActiveSupport, и оно просто добавляется в класс Date. Первая библиотека предназначена для рубинов, вторая - для рубинов на рельсах. Константа может не работать из-за разных версий Rails.

1

ABBR_MONTHS добавлен в Date ActiveSupport.

Рельсы на самом деле представляют собой набор из нескольких драгоценных камней. Роль ActiveSupport в основном заключается в добавлении тонкостей к Ruby-языку и другим агностическим инструментам, таким как Inflector и способу создания временного экземпляра Timedays 2.days.

Так что, если вам нужен этот вид возможности за пределами вашего приложения рельсов для какой-то причины, вы в удаче:

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} 
Смежные вопросы