我需要从Rails 2.3.8应用程序的用户捕获一个时间和时区,但一直无法想到一个干净的解决方案来创建和解析选择。
理想情况下,我将具有以下菜单:
有没有可以实现我所寻找的功能的gem/plugin?我是否需要将时间和时区都存储在数据库中?最佳的存储策略是什么?
我最终将需要在UTC中吐出这些值,但是用户应该可以返回并查看正确时区中的时间。
最佳答案
您可以使用适当的方法来选择时区:
同样,还有date_select作为日期。
存储空间:
如果时区特定于用户且未更改,则将其时区存储在用户记录中,并在加载current_user时进行设置。 Rails会将时间与UTC之间进行转换,并始终将UTC存储在数据库中,并为您自动将其转换为默认时区(包括夏令时!)。最简单的方法。
use_zone(zone)允许您覆盖块的默认区域,因此您可以接受表单值并使用该函数进行设置,然后在该块中设置值。
更新:我写了一些Rails timezone examples作为博客条目。
关于ruby-on-rails - 在Ruby on Rails中使用12小时时间和时区的time_select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3993619/