在Rails表单中设置默认时区

时间:2017-03-07 17:56:06

标签: ruby-on-rails ruby datetime tzinfo

我正在尝试设置默认值,或者理想情况下首先在创建公司时在表单中显示预定义的选项列表,时区。

目前,下面的代码呈现了可用时区的完整列表,找到特定的时区相当繁琐。所有当前的公司都处于两个时区之一,默认为特定时区更好,甚至更好,将两个时区值附加到列表顶部。这是表单字段:

= form.select :time_zone, (TZInfo::Timezone.all.map { |tz| ["(UTC #{tz.current_period.offset.utc_offset/3600}) #{tz.to_s}", tz.name] })

我试图设置一些不同的选项,但似乎没有传统的方法。

1 个答案:

答案 0 :(得分:1)

也许这个API文档就是您所需要的。

http://apidock.com/rails/v4.2.7/ActionView/Helpers/FormOptionsHelper/options_for_select

form.select :time_zone, options_for_select(TZInfo::Timezone.all.map { |tz| ["(UTC #{tz.current_period.offset.utc_offset/3600}) #{tz.to_s}", tz.name] }, selected: "your default option")