class method
self.use_zone
Ruby on Rails 8.0.4
Since v3.0.20Signature
self.use_zone(time_zone)
Allows override of Time.zone locally inside supplied block; resets Time.zone to existing value when done.
class ApplicationController < ActionController::Base around_action :set_time_zone private def set_time_zone Time.use_zone(current_user.timezone) { yield } end end
NOTE: This won’t affect any ActiveSupport::TimeWithZone objects that have already been created, e.g. any model timestamp attributes that have been read before the block will remain in the application’s default timezone.
Parameters
-
time_zonereq
Source
# File activesupport/lib/active_support/core_ext/time/zones.rb, line 61
def use_zone(time_zone)
new_zone = find_zone!(time_zone)
begin
old_zone, ::Time.zone = ::Time.zone, new_zone
yield
ensure
::Time.zone = old_zone
end
end
Defined in activesupport/lib/active_support/core_ext/time/zones.rb line 61
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Time