неспособен выдвинуть многократные вставки после обновления mongoid - PullRequest
1 голос
/ 19 апреля 2019

Я недавно обновил 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...

I 'Я много искал, но пока не нашел ничего, связанного с этим.Я просто "делаю это неправильно"?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2019

Похоже, это могло быть проблемой с версией Mongoid.Я не понял, что это было до v.7 сейчас.Я обновился до последней версии 7.0.2, и эта проблема, похоже, решена.

0 голосов
/ 19 апреля 2019

Я попытался parent.push(childrens: [...]) как предложено, что привело к этой ошибке:

NoMethodError: undefined method `bson_type' for #<Child:0x00007fd7073ce520>
from /mongoid-6.1.1/lib/mongoid/attributes/dynamic.rb:137:in `method_missing'
...