我想定义一个默认常量TIME_NOW
并在控制器中我需要的所有地方使用它。我知道Time.now.utc - 5.hours
的 DateTime 对象会给我东部标准时间,我想将此常量定义为ApplicationController
某处的TIME_NOW
。执行此操作的最佳做法是什么?
我认为时间并不是恒定的。
你为什么不定义一个返回当前时间的方法 你的首选时区 在你的ApplicationController
中,这样的东西可能会起作用:
def time_now
Time.current.in_time_zone('EST')
end
在ApplicationController
中可能是这样的
def time_now
Time.now.in_time_zone('Eastern Time (US & Canada)')
end
或更灵活
def time_now_in_zone(zone)
Time.now.in_time_zone(zone)
end
def eastern_time_now
time_now_in_zone('Eastern Time (US & Canada)')
end
您可以在所有控制器中调用此方法,因为它们是ApplicationController
的子项