我想在我的Rails项目中的某个HTML视图中打印出它,同时还有一些其他有用的信息。类似于“当前运行时间= 4d 11h 54m 2s”或“自2013年8月23日起运行”。
令人惊讶的是,无法在任何地方找到相关信息。也许有一种通用的Rack方法可以做到这一点。
我想在我的Rails项目中的某个HTML视图中打印出它,同时还有一些其他有用的信息。类似于“当前运行时间= 4d 11h 54m 2s”或“自2013年8月23日起运行”。
令人惊讶的是,无法在任何地方找到相关信息。也许有一种通用的Rack方法可以做到这一点。
这其实很容易。创建一个文件,名为config/initializers/uptime.rb
,其中包含以下内容:
YourApplication::BOOTED_AT = Time.now
那么现在只需要将当前时间与该时间进行比较,您可以在一个辅助方法中轻松地使用Rails帮助程序time_ago_in_words
来完成:
则翻译为:
然后只需要比较当前时间和那个时间,在一个辅助方法中使用Rails帮助程序time_ago_in_words
就可以轻松完成:
def uptime
time_ago_in_words(YourApplication::BOOTED_AT)
end
这将给您一个易于理解的字符串,说明应用程序已经运行了多长时间(启动时可能会有几秒钟左右的误差)。