【发布时间】:2014-04-26 17:48:43
【问题描述】:
我在注册期间收集用户的时区并使用以下表格(相关部分)存储在数据库中。
<%= a.input :time_zone, collection: ActiveSupport::TimeZone.us_zones.map { |zone| [zone.name, zone.name] }, required: true, label: "Select your time zone" %>
但是,我想将选择默认为用户的本地时区(基于操作系统)以加快注册过程。我尝试使用
<%= a.input :time_zone, collection: ActiveSupport::TimeZone.us_zones.map { |zone| [zone.name, zone.name] }, selected: Time.now.zone, required: true, label: "Select your time zone" %>
但它不起作用,因为 Time.now.zone 是“东部夏令时间”并且区域名称是“东部时间(美国和加拿大)”。无论如何将 Time.now.zone 转换为区域名称。
【问题讨论】:
-
请同时阅读the timezone tag wiki,尤其是最后一段关于“Rails 时区标识符”的内容。
标签: ruby-on-rails time timezone activesupport