В настоящее время я создаю прототип приложения, используя последнюю бета-версию Rails 4.2.Как предотвратить удаление объекта по умолчанию?
Для нескольких частей системы я должен разрешить пользователю выбирать элемент по умолчанию в списке.
До сих пор я реализовал это как поле по умолчанию на моделях и проверку уникальности, чтобы разрешить только один «по умолчанию».
Одним из моих бизнес-правил является предотвращение удаления объекта «по умолчанию».
Я мог бы использовать обратный вызов before_destroy, чтобы это сделать - и это хорошо работает, но я также использую жемчужину паранойи от https://github.com/radar/paranoia, чтобы дать мне возможность мягкого удаления. Это отменяет уничтожение моделей с помощью вызова обновления (вместо этого устанавливается поле «deleted_at»). Использование вызова before_update не дает мне ожидаемого результата, так как поле deleted_at не устанавливается достаточно рано.
Если жемчужина паранойи вызовет у меня проблемы, я рад полностью удалить это требование. Мягкое удаление полезно иметь, а не существенную функцию на этом этапе.
Есть ли у кого-нибудь предложения о том, как я могу реализовать эту логику и так же важно проверить, что она работает так, как ожидалось?
Звучит полезно @meagar - не могли бы вы предоставить пример кода для этого? –