定义常量并在使用 Ruby on Rails 的控制器中随处使用它们的最佳实践



我想定义一个默认常量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的子项

相关内容

  • 没有找到相关文章

最新更新