Я не уверен, как устранить следующую проблему с яйцом и курицей.
У меня есть модель под названием Batch
, которая касается родительской модели Status
при проверке - через before_validation
обратный вызов.
В after_touch
обратный вызов в родительской модели - Status
, (status has_many) - я проверяю, имеют ли все дочерние элементы экземпляра Status
атрибут, равный true.
Проблема, с которой я сталкиваюсь, заключается в том, что все это выполняется в одной транзакции с базой данных, поэтому мой дочерний экземпляр Batch
, который должен быть обновлен с атрибутом, установленным в true, не сохраняется и внутри after_touch
обратный вызов в родительском режиме не работает, я отвечаю правдой, делая все это неудачным.after_touch callback не имеет доступа к обновленным атрибутам детей
Считаете ли вы возможным заставить его работать без выполнения двух коммитов в базе данных?
И одна важная информация: атрибут Я проверяю это виртуальный атрибут со значением присвоенных в after_find
обратного вызова в детской модели (Batch
)