0

UPDATE:时区影响轨道3应用

从评论复制下面进行:

我想过使用针对IP地址的网络服务为每个访问者到网站,但后来我想知道用户在跨时区的地点查看会议,因此时区必须与正在查看的会议的地点相关联,而不是当时用户本身的位置。我需要用户能够查看会议列表(包括时间和地点),显示的时间是实际的会议时间,但列出会议的SELECT的WHERE子句需要考虑每个会议地点的时区。


我环顾四周,有很多关于在rails应用程序中使用时区的问题。例如,

问题在于,应用程序需要知道用户在哪个时区才能正确地运行对数据库的查询以检查未来的日期时间。

我不想常客我的网站需要登录才能让他们所以我大意如下的思维正常工作:

  • 管理员用户登录到发布了一个item特别locationdatetime
  • 当保存它使用location[lat,lng]致电Timezone gem捕捉timezonelocation
  • 的项目,我认为I N EED这timezone被添加到一个额外的字段在同一个模型作为[lat,lng]datetime(其中轨道保存为UTC)(https://stackoverflow.com/a/2533323
  • 我需要我的模型到UTC datetime与其各自timezone所以结合,当一个普通用户来到网页选择item为什么会产生UTC+timezone datetimes是未来

这听起来可能/正确的网站?

如果听起来很混淆,那么只需在评论中说出来,如果可以的话,我会试着更好一些。

有人可以提供该模型的任何代码来创建一个virtual attribute(我认为)结合UTC datetimetimezone字段?

谢谢

回答

0

有没有国家名单和他们的时区?当用户来到网站时,根据他所在的国家来确定,而不是尝试使用原生轨道时区方法。 比如我有created_at PARAMS用户和表型号:

Time.zone => (GMT+00:00) UTC 
User.last.created_at => Mon, 25 Jun 2012 21:17:25 UTC +00:00 
Table.last.created_at => Mon, 16 Jul 2012 14:08:17 UTC +00:00 

Time.zone = 'Moscow' => "Moscow" 
Time.zone => (GMT+04:00) Moscow 

User.last.created_at => Tue, 26 Jun 2012 01:17:25 MSK +04:00 
Table.last.created_at => Mon, 16 Jul 2012 18:08:17 MSK +04:00 

如何确定国家,你应该寻找宝石或一些服务。我认为这将是通过他的IP地址确定用户国家的服务。

+0

我想过为网站的每位访问者使用针对IP地址的网络服务,但后来我想知道用户在跨时区的位置查看会议,因此时区必须与正在查看的会议的位置相关联,而不是用户自己在哪个时刻。我需要用户能够查看会议列表(包括时间和地点),显示的时间是实际的会议时间,但列出会议的SELECT的WHERE子句需要考虑每个会议地点的时区。 – user1116573 2012-08-01 20:15:19