trong đường ray nó được đặt trong environment.rb qua đường ray initializer
Rails::Initializer.run do |config|
config.time_zone = 'Pacific Time (US & Canada)'
# ...
tôi chỉ làm một bài kiểm tra và khi config.time_zone là nhận xét ra Time.zone cũng sẽ trở lại con số không trong dự án đường ray; vì vậy tôi đoán không có 'mặc định' nó chỉ được thiết lập trong initializers
Đoán bạn đã biết điều này sẽ 'làm việc'?
irb -r 'rubygems'
ruby-1.8.7-p174 > require 'active_support'
ruby-1.8.7-p174 > require 'active_support/time_with_zone'
ruby-1.8.7-p174 > Time.zone
ruby-1.8.7-p174 > nil
ruby-1.8.7-p174 > Time.zone = 'Pacific Time (US & Canada)'
ruby-1.8.7-p174 > Time.zone
=> #<ActiveSupport::TimeZone:0x1215a10 @utc_offset=-28800, @current_period=nil, @name="Pacific Time (US & Canada)", @tzinfo=#<TZInfo::DataTimezone: America/Los_Angeles>>
Lưu ý: mã trên có sử dụng đường ray 2.2.2 mọi thứ có thể khác với phiên bản mới hơn?
biên tập ghi chú: Trong đường ray> = 3.0 tất cả các bản vá lỗi khỉ đã được di chuyển đến không gian tên core_ext
, vì vậy yêu cầu trên không mở rộng Time
. Cho sau này ActiveSupport
phiên bản sử dụng như sau:
require 'active_support/core_ext/time/zones'
Tôi đang cố gắng để sử dụng bên ngoài này của đường ray :) –
tôi biết; những gì tôi nói là ngay cả trong đường ray nó không xuất hiện để sử dụng một mặc định, có vẻ như bạn sẽ cần phải đặt Time.zone mình trong irb? nhưng sau đó lại có thể tôi đã sai? – house9
oh! mát mẻ, cảm ơn bạn đã thử nghiệm điều đó. –