[RUBY-ON-RAILS] 레일 3 시간대
RUBY-ON-RAILS레일 3 시간대
나는 꽤 일반적인 문제가 있지만 내가 웹과 없음의 모든 제안을 시도 어떤 이유로 작업에 보인다.
나는 'EST'으로 설정에서 시간대를 설정
config.time_zone = 'Eastern Time (US & Canada)'
시간이 화면에 표시 될 때, 그것은 DB에 저장되어있는 UTC 시간을 표시하고 있습니다. 나는 디버거를 시도하고 여기에 출력
(rdb:1) Time.zone
#<ActiveSupport::TimeZone:0x1061f4760 @utc_offset=nil, @current_period=nil, @name="Eastern Time (US & Canada)", @tzinfo=#<TZInfo::TimezoneProxy: America/New_York>>
(rdb:1) Order.first.placed_at
Fri Jan 01 15:00:00 UTC 2010
최신 정보: 여기에 같은 질문을 가진 다른 사용자는 표시 할 때 시간대가 잘못 레일
해결법
-
==============================
1.in_time_zone보십시오. 예를 들면
in_time_zone보십시오. 예를 들면
>> Time.now => Sun Dec 05 21:34:45 -0500 2010 >> Time.zone => #<ActiveSupport::TimeZone:0x1033d97b8 @name="Pacific Time (US & Canada)", @tzinfo=#<TZInfo::DataTimezone: America/Los_Angeles>, @utc_offset=-28800, @current_period=nil> >> Time.now.in_time_zone => Sun, 05 Dec 2010 18:34:54 PST -08:00
귀하의 경우에는, 당신은 Order.first.placed_at.in_time_zone을 원한다.
-
==============================
2.앱의 서로 다른 사용자에 대해 서로 다른 시간대를 설정하려면, 변경 Time.zone에 필터 전에 반대로 당신이 around_filter를 사용하십시오. Time.zone 다른 스레드를 통해 누수 때문에 다른 사용자가되지 않도록 시간대를 inheret 수있는 방법을 함께 할 수있는 뭔가. 이 블로그 게시물에서 : http://ilikestuffblog.com/2011/02/03/how-to-set-a-time-zone-for-each-request-in-rails/
앱의 서로 다른 사용자에 대해 서로 다른 시간대를 설정하려면, 변경 Time.zone에 필터 전에 반대로 당신이 around_filter를 사용하십시오. Time.zone 다른 스레드를 통해 누수 때문에 다른 사용자가되지 않도록 시간대를 inheret 수있는 방법을 함께 할 수있는 뭔가. 이 블로그 게시물에서 : http://ilikestuffblog.com/2011/02/03/how-to-set-a-time-zone-for-each-request-in-rails/
application_controller.rb에서 :
around_filter :set_time_zone private def set_time_zone old_time_zone = Time.zone Time.zone = current_user.time_zone if logged_in? yield ensure Time.zone = old_time_zone end
또한 사용자가 자신의 시간대를 변경할 수 있도록 때 도움이 time_zone_select 양식 도우미 방법을 사용하여 발견했다. 당신이 당신의 분야라는 경우 : TIME_ZONE을, 당신은 그것을 같이 사용합니다 :
f.time_zone_select(:time_zone)
그리고 마지막으로,이 꽤 멋진 보인다. 자동 감지 및 자바 스크립트를 통해 설정 시간대. https://github.com/scottwater/detect_timezone_rails 및 첨부 된 블로그 게시물 : 여기에 자산 파이프 라인에 추가 할 수있는 레일 보석입니다 http://www.scottw.com/automated-timezone-detection
-
==============================
3.당신의 액티브 :: Base.time_zone_aware_attributes이 사실임을 확인합니다.
당신의 액티브 :: Base.time_zone_aware_attributes이 사실임을 확인합니다.
-
==============================
4.나는 당신이 설명하는 것은이 버그라고 생각 - https://github.com/rails/rails/issues/6816
나는 당신이 설명하는 것은이 버그라고 생각 - https://github.com/rails/rails/issues/6816
from https://stackoverflow.com/questions/4362663/timezone-with-rails-3 by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 루비 온 레일즈 MVC는 무엇입니까? (0) | 2020.02.29 |
---|---|
[RUBY-ON-RAILS] 당신은 소스없이 레일 응용 프로그램에 루비를 배포 할 수 있습니까? (0) | 2020.02.29 |
[RUBY-ON-RAILS] 3.1 자산 레일 - 이상한은 개발에서 봉사 (0) | 2020.02.29 |
[RUBY-ON-RAILS] 4 LIKE 쿼리를 레일 - 액티브 따옴표를 추가 (0) | 2020.02.29 |
[RUBY-ON-RAILS] 유증에 모두 계정 및 사용자 테이블을 사용하여 (0) | 2020.02.29 |