Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActiveSupport::偏移量字符串的时区列表_Ruby On Rails_Timezone_Activesupport_Railscasts - Fatal编程技术网

Ruby on rails ActiveSupport::偏移量字符串的时区列表

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_地图应

我遵循了Ryan Bate的railscast#106,它在用户模型中添加了时区字符串。该字符串来自下拉列表:

= 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