gpt4 book ai didi

ruby-on-rails - ActiveRecords 未正确序列化为 yaml

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:47 25 4
gpt4 key购买 nike

当我序列化事件记录时,我发现 yaml 格式因我运行的盒子而异。在一个盒子上我得到:

object: !ruby/object:User 

代替

object: !ruby/ActiveRecord:User 

第一个版本是一个问题,因为在反序列化 yaml 时,主动支持需要做一些魔术才能正确填充事件记录。是什么导致了这种差异?我如何确保使用第二种格式?


我正在使用 ruby​​ 1.9.2 并且我已经强制 yaml 引擎使用 syck using

require "yaml"
YAML::ENGINE.yamler = "syck"

在 boot.rb(rails 应用程序)中。

更新

进一步研究后,我发现 ActiveRecord 类型没有在 yaml 中注册。在它工作的服务器上调用以下命令:

YAML.resolver.tags.keys

包括:

"tag:ruby.yaml.org,2002:ActiveRecord"

此类型从行为不正确的服务器中丢失。现在的问题是我不知道为什么没有注册该类型。

最佳答案

此类问题通常是由于Rails 类重载引起的。您是否尝试设置:

 config.cache_classes = true

在 config/environments/development.rb 中?

关于ruby-on-rails - ActiveRecords 未正确序列化为 yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5368906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com