【发布时间】:2019-04-19 13:49:02
【问题描述】:
我最近将 mongoid 更新到 6.x。在我的一个 rspec 测试中,我使用这个约定来持久化嵌入式文档:
parent.children.push(child1, child2, child3, etc...)
在这种情况下,父模型和子模型都有 after_update 回调。这工作正常,但在 mongoid 升级后,我现在得到:
NoMethodError (undefined method `call' for #<ActiveSupport::Callbacks::CallbackSequence:0x00007fcde9684c00>)
如果我将测试更改为单独推送,它可以正常工作,即:
parent.children.push(child1)
parent.children.push(child2)
etc...
我已经搜索了很多,但还没有找到与此相关的任何内容。我只是“做错了”吗?
【问题讨论】:
-
试试
parent.push(childrens: [child1, child2, child3])
标签: ruby-on-rails mongoid