我有事件,可以在不同的时区。
在修改后,我想要时间&日期显示该事件的时区。
但是,当我点击编辑时,datetime_select
始终显示用户时区的时间(而不是其中一个事件)。
示例:
结果:编辑后,事件时间错误地预设为上午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
预设到相应区域中的活动时间?
答案 0 :(得分:1)
正如 pixeltrix 在错误报告的主题中指出的那样,覆盖所讨论属性的读者/获取者更为清晰:
# 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 的其他部分。