[RUBY-ON-RAILS] 3 레일 : 현재 사용자의 시간대로 시간대를 설정
RUBY-ON-RAILS3 레일 : 현재 사용자의 시간대로 시간대를 설정
나는 응용 프로그램 컨트롤러에이를 넣어 :
before_filter :set_timezone
def set_timezone
Time.zone = current_user.time_zone
end
그러나 나는 항상 오류가 발생합니다 :
undefined method time_zone for #<User:0xa46e358>
난 그냥 이유를 알고하지 않습니다 ...
나는 누군가 캔의 도움을 바란다
해결법
-
==============================
1.최대 일 - ryandaigle.com 기사는 당신이 사용자에게 속성으로 "TIME_ZONE"를 추가 마이그레이션을 생성하기 위해 필요한이 작성자에 대한 링크를 언급
최대 일 - ryandaigle.com 기사는 당신이 사용자에게 속성으로 "TIME_ZONE"를 추가 마이그레이션을 생성하기 위해 필요한이 작성자에 대한 링크를 언급
(이 레일 2.X 구문 기사에서이다)
$ script/generate scaffold User name:string time_zone:string $ rake db:migrate
나중
<%= f.time_zone_select :time_zone, TimeZone.us_zones %>
당신의 .time_zone는 method_missing을 반환하는 이유 - 아직 사용자에 TIME_ZONE를 저장하지 않았습니다.
-
==============================
2.또한 제시의 대답에, 나는 당신이 일반적으로 DB에 새 열을 추가 피할 수 있음을 추가해야합니다 그냥 사용자 모델에서 사용자 정의 메소드를 생성하고 사용자의를 얻기 위해 쿠키를 사용합니다 시간대 :
또한 제시의 대답에, 나는 당신이 일반적으로 DB에 새 열을 추가 피할 수 있음을 추가해야합니다 그냥 사용자 모델에서 사용자 정의 메소드를 생성하고 사용자의를 얻기 위해 쿠키를 사용합니다 시간대 :
클라이언트 측에서 (JS)
function set_time_zone_offset() { var current_time = new Date(); $.cookie('time_zone', current_time.getTimezoneOffset()); }
응용 프로그램 컨트롤러에서 :
before_filter :set_timezone def set_timezone min = request.cookies["time_zone"].to_i Time.zone = ActiveSupport::TimeZone[-min.minutes] end
-
==============================
3.
function set_time_zone_offset() { var current_time = new Date(); $.cookie('time_zone', current_time.getTimezoneOffset()); }
이 오프셋 시간이 일정하지 않기 때문에, 그것은 일광 절약 기간에 따라, 올바르지 않습니다. 레일은 ActiveSupport :: 시간대 [-min.minutes]를 호출 할 때 오프셋 표준 시간을 기대하고있다.
예는 : 날짜 2013년 9월 3일 10시 50분 12초 +02에서 프랑스 : 오프셋으로 ActiveSupport 프랑스 시간대를 해결하기 위해 -60가 필요합니다 경우 00, 당신의 자바 스크립트 -120을 반환합니다.
그럼 당신이 당신이 레일에 사용되는 바로 값을 얻기 위해 오프셋 1 시간을 빼줄 것 인 경우에,이 다음 JS에서 일광 절약 시간인지를 검사 할 필요가있다.
from https://stackoverflow.com/questions/4269270/rails-3-setting-the-timezone-to-the-current-users-timezone by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 내가 어떻게 비활성화 당 액션 기준으로 루비 온 레일즈 로깅? (0) | 2020.03.03 |
---|---|
[RUBY-ON-RAILS] 유증과 세션 길이 설정 (0) | 2020.03.03 |
[RUBY-ON-RAILS] 레일 3 사용자 정의 고안 오류 메시지? (0) | 2020.03.03 |
[RUBY-ON-RAILS] API로 ActionCable를 사용하는 방법 (0) | 2020.03.03 |
[RUBY-ON-RAILS] 루비의 BigDecimal 전성 검사 (부동 소수점 newb) (0) | 2020.03.03 |