奇怪的AR :: Base to_yaml序列化

时间:2015-05-31 14:50:19

标签: ruby-on-rails yaml rails-activerecord

我试图转储一些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等)。

0 个答案:

没有答案