내가 내 모델의 private 메소드에서 실행하는 간단한 방법이 실행되지 않습니다루비`ensure`이
def with_time_zone(zone)
@old_time_zone = Time.zone
Time.zone = self.account.timezone
Chronic.time_class = Time.zone
yield
ensure
Time.zone = @old_time_zone
Chronic.time_class = @old_time_zone
end
I는 다음과 같이 사용 :
with_time_zone(account.timezone) do
Time.parse(@time)
end
을하지만, 내가 실행할 때 내 테스트에서 EST로 설정된 시간대로 시작하지만 시간을 비교할 시간이되면 Time.zone
이 해당 블록에서 마지막으로 시간대가 사용 된 시간으로 설정됩니다. 따라서 ensure
메서드가 호출되지 않고 Time.zone이 재설정되지 않는다고 알려줍니다.
누구에게 이것이 일어날 수 있는지 알고 있습니까?