此irb会话将演示此问题:
irb(main):001:0> require 'active_support/all'
=> true
irb(main):002:0> Time.zone.now
NoMethodError: undefined method `now' for nil:NilClass
from (irb):2
from /Users/jg/.rbenv/versions/2.2.4/bin/irb:11:in `<main>'
我安装了最新版本的activesupport
,并按照此处文档中的示例进行操作:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html
可能导致此错误的原因是什么?
在pry
中仔细检查这一点,Time
似乎activesupport
成功进行了猴子修补,但zone
未设置。我认为可能只是用户(或rails)负责设置它,而我假设它默认设置为本地区域。