Класс даты отличается в Ruby stdlib и Rails stdlib - PullRequest
3 голосов
/ 04 октября 2008

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

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

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

Ответы [ 2 ]

3 голосов
/ 05 октября 2008

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

1 голос
/ 05 октября 2008

ABBR_MONTHS добавлено в Date с помощью ActiveSupport.

Rails - это набор из нескольких драгоценных камней. Роль ActiveSupport заключается в основном в добавлении тонкостей к языку Ruby и другим независимым инструментам, таким как Inflector и способу создания 2days экземпляров 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}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...