У меня есть такая модель.Mongoid: embeds_one и _destroy param во встроенных документах
class Article
include Mongoid::Document
embeds_many :blocks, class_name: 'Article::Block', cascade_callbacks: true
accepts_nested_attributes_for :blocks, allow_destroy: true
...
class Block
include Mongoid::Document
embedded_in :article
embeds_one :squib, class_name:'Article::Block::Squib', cascade_callbacks: true
accepts_nested_attributes_for :squib, allow_destroy: true
...
class Squib
include Mongoid::Document
...
embedded_in :block, class_name: 'Article::Block'
end
end
end
проблема в том, что касается обратных вызовов. Когда я перехожу к контроллеру следующих параметров:
{"article"=>{"_id"=>"55d4c8a43a98c118b100001a", ... , "blocks_attributes"=>[{... "squib_attributes"=>{... "_destroy"=>1, "_id"=>"55d4ccb63a98c118b1000044"}, "_id"=>"55d4c8d73a98c118b100001c"}]}}
Вложенная статья :: Блок :: Squib не разрушает. Нет проблем, когда я использую отношение embeds_many. Проблема только в embeds_one.
Как это исправить?
Mongoid версия 4.0.2
У вас есть спецификация/тест, подтверждающий эту ошибку? В этом случае, возможно, вы должны создать проблему с Mongoid. – max
Большое спасибо за комментарий. Я сделал простой пример с тестами: https://github.com/r00takaspin/mongoid-test. Но я нашел решение в источниках и добавил его в качестве своего собственного ответа. Это ошибка или функция? :) –