У меня есть Conversation
с сообщениями и участникирельсы ассоциации обратного вызова после объединения сохраняет
в контроллере я строю и сохранение
conversation = Conversation.new(params)
conversation.participations.build(params)
conversation.messages.build(params)
conversation.save
Мой Message.rb
имеет after_create обратный вызов.
на save
Я ожидал, что все объекты будут сохранены, И затем все их обратные вызовы будут запущены.
То, что я нахожу, - это обратный вызов сообщения, который стреляет до того, как участились действия.
Как вы проверяете, что участие было сохранено - не забудьте, что фиксация не будет выполняться до завершения всей транзакции - это произойдет после обратного вызова 'after_create'. Возможно, вы хотите использовать 'after_commit' вместо этого - сложно попытаться решить проблему, потому что вы не указали какие-либо проблемы или требования для этого. – David
У меня есть транзакция вокруг сохранения всех объектов. Я думаю, что урок здесь: если вам нужно убедиться, что объекты сохранены, то используйте 'after_commit' –
@David, если вы переместите свой комментарий к ответу, тогда я его помету правильно. –