У меня есть следующие две модели:Mongoid embeds_many документы не удаляются после перезагрузки
class Customer
include Mongoid::Document
include Mongoid::Timestamps
embeds_many :locks, class_name: "Lock"
accepts_nested_attributes_for :locks, allow_destroy: true
field :name, type: String
validates :name,
presence: true
belongs_to :list
end
и
class Lock
include Mongoid::Document
include Mongoid::Timestamps
field :locked_by, type: Moped::BSON::ObjectId
embedded_in :customer, inverse_of: :locks, class_name: "Customer"
def unlock!
self.destroy
end
end
Так что, когда я пытаюсь удалить замок замок удален из коллекции детской, но после перезагрузки клиента это еще там:
locks = customer.locks.where({ some conditions})
locks.each do |l|
l.unlock!
end
customer.save
В тех случаях, когда условия однозначно возвращают правильные объекты.
Может ли кто-нибудь помочь мне и рассказать мне, что я сделал не так?
Update:
Это не работает также
customer.locks = []
customer.save
customer.reload