Ruby on rails ActiveSupport::偏移量字符串的时区列表
我遵循了Ryan Bate的railscast#106,它在用户模型中添加了时区字符串。该字符串来自下拉列表:Ruby on rails ActiveSupport::偏移量字符串的时区列表,ruby-on-rails,timezone,activesupport,railscasts,Ruby On Rails,Timezone,Activesupport,Railscasts,我遵循了Ryan Bate的railscast#106,它在用户模型中添加了时区字符串。该字符串来自下拉列表: = f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones 我试图查询所有共享同一时区偏移的用户(这样我就可以每天在特定的时间向他们发送电子邮件) 我无法获得特定偏移量的时区名称列表。我一直在修补TzInfo和ActiveSupport::TimeZone.zones\u地图,但成效有限。我觉得zones_地图应
= f.time_zone_select :time_zone, ActiveSupport::TimeZone.us_zones
我试图查询所有共享同一时区偏移的用户(这样我就可以每天在特定的时间向他们发送电子邮件)
我无法获得特定偏移量的时区名称列表。我一直在修补TzInfo和ActiveSupport::TimeZone.zones\u地图,但成效有限。我觉得zones_地图应该能够满足我的需求,但我一直无法从中获得我想要的数据(尽管我在那里看到了!)
我是不是走错了路?我想我可以把GMT偏移量存储在用户身上,然后用这种方式查询
我的google fu让我失望了。我已经弄明白了--
很不错的!顺便说一句,不需要“紧凑型”的爆炸因为您要将其分配给一个变量,所以它可以是“紧凑”的,也可以查看5.1的映射+
User.where(:time_zone => ['Guadalajara','Central America','Mexico City', 'Monterrey', 'Saskatchewan'])
tz_names = ActiveSupport::TimeZone.zones_map.values.collect{|z| z.name if z.utc_offset == offset}.compact