Есть ли лучшая версия чего -то вроде ACTS_AS_PARANOID для Rails 3?
-
28-10-2019 - |
Вопрос
Кто -нибудь знает о драгоценном камне, который оба мягких записи удаляют из базы данных (просто помешает их удаленным, в отличие от того, что на самом деле удаляется) и ...
... Также когда вы нахождение автоматически пропускает эти разрушенные записи без использования каких-либо специальных пользовательских областей. Например, все это происходит в драгоценный камень.
Ваше здоровье!
Решение
Вы можете захотеть заказать paper_trail
Другие советы
DHH является поклонником этого с «проблемами», которые в основном являются просто модульными микшинами, и мне нравится этот минималистский подход.
Вот версия DHH - https://gist.github.com/1014971
Вот моя версия с ошибкой - https://gist.github.com/4032984
Paper_trail имеет много функций и хорошо протестирована (существует уже давно).
Если вы хотите только указанную функциональность, проверьте:
Паранойя
А Паранойя драгоценный камень от явно талантливого Радар это то, что вы будете искать.
Это, по сути, переписывание ACTS_AS_PARANOID (и использует многие из тех же конвенций), но меньше, быстрее и совместимо с рельсами 3 и 4.
Он выполняет оба ваших запроса:
Автоматически устанавливает а
deleted_at
временная метка, когда аdestroy
метод вызывается на объект, класс которого включает в себяacts_as_paranoid
.Автоматически устанавливает условие на любые запросы, которые обеспечивают
deleted_at IS NULL
, если вы не включитеwith_deleted
в вашей цепочке запросов.
Не мог сказать достаточно хороших слов о библиотеке или радаре.
Бонус: его документация может быть лучшей в «бизнесе».
Я использую Discard Gem. Это довольно простой способ для мягких записей удаления.https://www.rubydoc.info/gems/discard/1.0.0