.подарок? для объекта ActiveRecord, запускающего обратный вызов after_save - PullRequest
0 голосов
/ 24 февраля 2020

В настоящее время я работаю над проектом в рельсах, и у меня есть две модели, Foo и Bar . Их отношение Foo принадлежит Bar .

Ожидаемое поведение

Всякий раз, когда я пытаюсь вызвать .present? , это скажет мне, что указанный c объект присутствует или нет? Для моего данного сценария Foo.first.bar.present? должен сообщать мне только, если бар сильный текст для этого foo присутствует или нет.

Фактическое поведение

Вызов Foo.first.bar.present? запускается .save на bar объект, который создает трудности для меня, так как существуют некоторые обратные вызовы, которые могут потребовать времени для обновления тяжелых данных после сохранения указанного c bar-объекта. Ссылка на скриншот доступна ниже

https://share.getcloudapp.com/d5u0bykB

Конфигурация системы

Версия Rails: Rails 5.0.7.2

Ruby версия: ruby 2.4.4p296 (версия 20101-03-28 63013) [x86_64-darwin18]

1 Ответ

0 голосов
/ 24 февраля 2020

В исходном коде для present? и blank? вы можете видеть, что эти методы никогда не сохранят запись. Таким образом, причина вашей проблемы должна быть где-то еще в вашем коде.

...