我试图从Rails 4.2.7升级到4.2.8,并发现Rails的DateTime方法在从数据库重载时将时区切换到本地,这在Rails 4.2.7中是看不到的。在Rails 4.2.8上,我的应用程序的单元测试依靠DateTime方法来开始新的一年
<ion-content>
<ion-menu type="push" menuId="nav-menu">
// create menu items
</ion-menu>
<div main>
hello world
</div>
</ion-content>
I expect the menu to remain open/unchanged when clicking on the hello world.
此结果值作为对象的一部分传递给
Class:Machinist::ActiveRecord::Blueprint发生重新加载的位置。
DateTime.new(2019,1,1,0,0,0)
Tue, 01 Jan 2019 00:00:00 +0000
instance_variable_get方法,位于
def reload(options = nil)
clear_aggregation_cache
clear_association_cache
self.class.connection.clear_query_cache
fresh_object =
if options && options[:lock]
self.class.unscoped { self.class.lock(options[:lock]).find(id) }
else
self.class.unscoped { self.class.find(id) }
end
@attributes = fresh_object.instance_variable_get('@attributes')
@new_record = false
self
end
将Rails 4.2.8的时区切换为本地(Mon,31st Dec 2018 16:00:00 -0800),但不在4.2.7上,时区仅切换时区而不是时间(1月1日,星期二) 2019 00:00:00 -0800)。类似的方法Time.new()对此没有问题,因为默认时区设置为本地,
@attributes = fresh_object.instance_variable_get('@attributes')
试图查明在Rails 4.2.8上所做的更改,这些更改不允许重新加载时的DateTime方法的时区保持为UTC。 关于此的任何见解都是有帮助的。 谢谢