Есть ли лучшая версия чего -то вроде ACTS_AS_PARANOID для Rails 3?

StackOverflow https://stackoverflow.com/questions/6354734

Вопрос

Кто -нибудь знает о драгоценном камне, который оба мягких записи удаляют из базы данных (просто помешает их удаленным, в отличие от того, что на самом деле удаляется) и ...

... Также когда вы нахождение автоматически пропускает эти разрушенные записи без использования каких-либо специальных пользовательских областей. Например, все это происходит в драгоценный камень.

Ваше здоровье!

Это было полезно?

Решение

Вы можете захотеть заказать paper_trail

https://github.com/airblade/paper_trail

Другие советы

DHH является поклонником этого с «проблемами», которые в основном являются просто модульными микшинами, и мне нравится этот минималистский подход.

Вот версия DHH - https://gist.github.com/1014971

Вот моя версия с ошибкой - https://gist.github.com/4032984

Paper_trail имеет много функций и хорошо протестирована (существует уже давно).

Если вы хотите только указанную функциональность, проверьте:

https://github.com/grosser/soft_deletion

Паранойя

А Паранойя драгоценный камень от явно талантливого Радар это то, что вы будете искать.

Это, по сути, переписывание ACTS_AS_PARANOID (и использует многие из тех же конвенций), но меньше, быстрее и совместимо с рельсами 3 и 4.

Он выполняет оба ваших запроса:

  1. Автоматически устанавливает а deleted_at временная метка, когда а destroy метод вызывается на объект, класс которого включает в себя acts_as_paranoid.

  2. Автоматически устанавливает условие на любые запросы, которые обеспечивают deleted_at IS NULL, если вы не включите with_deleted в вашей цепочке запросов.

Не мог сказать достаточно хороших слов о библиотеке или радаре.

Бонус: его документация может быть лучшей в «бизнесе».

Я использую Discard Gem. Это довольно простой способ для мягких записей удаления.https://www.rubydoc.info/gems/discard/1.0.0

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top