我试图转储一些AR模型to_yaml
,以便在不同的上下文中重新加载。为此,我正在做:
File.open(file, 'w') { |f| f.print MyModel.all.to_yaml }
但是,当我查看YAML文件时,我偶尔会看到如下内容:
- !ruby/object:MyModel
attributes: *35083880
也就是说,其中一个模型的属性指向另一个模型的属性。这是不正确的(我已经确认没有重复记录),并且导致我的重新摄取过程出现一些问题(因为它也复制了ID)。
更奇怪的是,这种情况有时只会发生。有时上面的命令会创建一个非常精细的YAML文件,没有命名的锚点。
有没有人知道可能会发生什么?我使用Rails 4.1和漂亮的库存设置(对于AR,YAML等)。