Предположим, у меня есть модель пользователь
, у которого есть ограничение уникальности для поля электронной почты
Если я позвоню Factory (: user)
, когда все будет хорошо, но если я позвоню во второй раз произойдет сбой с ошибкой «запись уже существует».
В настоящее время я использую простой помощник для поиска существующей записи в БД перед созданием фабрики ... и вызываю любую фабрику, которую я создаю этот помощник.
Это работает, но не совсем элегантно, и, учитывая, насколько распространенной, как я полагаю, должна быть эта проблема, я предполагаю, что есть лучшее решение. Итак, есть ли в factory girl встроенный способ return_or_create
factory, вместо того, чтобы просто продвигаться вперед с помощью create ()
? Если нет, то как большинство людей избегают дублирования записей на своих фабриках?