2010-01-19 3 views
4

레일스의 기본 동작은 데이터베이스 레코드와 모든 날짜/datetime 관련 열을 UTC 시간으로 저장하는 것임을 알고 있습니다. 또한 environment.rb의 config.time_zone을 사용하여 날짜/시간 표시를 사용자에게 제어 할 수 있습니다. 그래서 기본적으로 config.time_zone 설정은 레일스가 UTC의 레코드를 config.time_zone에서 지정한 레코드로 변환하는 디스플레이를 제어하는 ​​것입니다.레일 시간대

레일이 UTC가 아닌 EST에 레코드를 저장하도록 설정하고 config.time_zone 설정에 따라 계속해서 변환하도록 설정합니까?

-Satynos

답변

3

을 당신은 당신의 질문 뒤에 추론을 고려해야합니다. 기억해 : 레일스는 컨벤션을 관례에 따라 구현합니다. 컨벤션을 바꾸고 싶을만한 이유가 있습니다! 특히 datetime이 데이터베이스에 저장되는 방식에 대해 임의적 인 것으로 특히 Rails가 날짜를 사용하여 작업하는 것이 얼마나 쉬운지를 고려하면됩니다. 나는 기록을 강제 모르는

0

이 EST에 저장하는,하지만 난 DB에 로컬 시간대를 사용하는 방법에 대한이 토론을 공유하고 싶었 : http://www.ruby-forum.com/topic/890711

토론에서, 나는 skip_time_zone_conversion_for_attributes를 사용하여 종료 유사한 문제 (해당 방법에 대한 : http://api.rubyonrails.org/classes/ActiveRecord/Timestamp.html)에 대한. 시간대를 EST로 설정 한 다음이 방법을 시도해보십시오.

행운을 빈다. 나는 그것이 잠시 였음을 알고 있지만, 사람들이 당신이 무엇을했는지 알릴 수있는 시간이 걸릴 수도 있습니다.