Rails时区不变

时间:2013-01-27 14:03:55

标签: ruby-on-rails-3

尝试以下方法:

config.time_zone = 'Pretoria'
config.active_record.default_timezone = 'Pretoria'

没有任何错误,但它仍然显示为伦敦时间而不是比勒陀利亚,这是+2小时。

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

也许会尝试在每个请求上设置时区?这样,您最终可以让用户设置自己的时区,每个请求都可以与他们的时区设置相关。

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

http://api.rubyonrails.org/classes/Time.html#method-i-zone-3D