class method
self.zone=
Ruby on Rails 4.0.13
Since v3.0.20Signature
self.zone=(time_zone)
Sets Time.zone to a TimeZone object for the current request/thread.
This method accepts any of the following:
-
A Rails TimeZone object.
-
An identifier for a Rails TimeZone object (e.g., “Eastern Time (US & Canada)”,
-5.hours). -
A TZInfo::Timezone object.
-
An identifier for a TZInfo::Timezone object (e.g., “America/New_York”).
Here’s an example of how you might set Time.zone on a per request basis and reset it when the request is done. current_user.time_zone just needs to return a string identifying the user’s preferred time zone:
class ApplicationController < ActionController::Base around_filter :set_time_zone def set_time_zone if logged_in? Time.use_zone(current_user.time_zone) { yield } else yield end end end
Parameters
-
time_zonereq
Source
# File activesupport/lib/active_support/core_ext/time/zones.rb, line 37
def zone=(time_zone)
Thread.current[:time_zone] = find_zone!(time_zone)
end
Defined in activesupport/lib/active_support/core_ext/time/zones.rb line 37
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Time