我怎样才能充液datetime_select在定义时区的时间?(How can i prefill

2019-07-20 23:23发布

我有事件可以在不同的时区

编辑我要的时间和日期显示与非常事件的时区。

然而,当我打了编辑datetime_select总是显示用户的时区的时间(相对于事件的一个)。

例:

  • 事件在阿姆斯特丹开始在上午10点(GMT + 1)
  • 配置为伦敦用户的时区(GMT + 0)

结果: 经编辑的事件时被错误地预设为上午9点

代码片段:

def edit
  Time.zone = @event.time_zone
  @event.beginn = @event.beginn.in_time_zone
  @event.endd = @event.endd.in_time_zone

  # [...]
end

注意,@ event.time_zone包含所需的时区(“阿姆斯特丹”在上面的例子)。

怎样才可以有datetime_select预设在编辑时它的相应区域的活动时间?

Answer 1:

作为pixeltrix在bug报告的线程中指出,它的清洁剂覆盖的读者/像这样有问题的属性干将:

# in event model

def beginn
  super.in_time_zone(time_zone) if super
end

def endd
    super.in_time_zone(time_zone) if super
end

这样,在这个问题概述了编辑操作的逻辑可以被省略,并且避免与其他部件依赖Time.zone干扰。



文章来源: How can i prefill datetime_select with times in custom time zone?