Действительно уничтожает объекты acts_as_paranoid

#ruby-on-rails

#ruby-on-rails

Вопрос:

У меня проблема с объектами acts_as_paranoid. Теперь я хочу действительно уничтожить объект, но я не могу найти простой способ.

Мне не нравится использовать жестко закодированный SQL для решения этой проблемы.

Кто-нибудь знает быстрое и приятное решение?

Обновить

Я пришел к следующему решению. Мне это не очень нравится, но это работает….

 # Use this function wisely
def really_destroy
  ActiveRecord::Base.connection.execute("DELETE FROM user_widgets WHERE id = #{self.id}")
end
  

Ответ №1:

Добавьте взрыв к destroy методу.

 def really_destroy
  self.destroy!
end
  

Комментарии:

1. Неужели это так просто? :D. Я проверю это завтра! Спасибо за ваш ответ

2. Это просто. Смотрите документацию здесь: github.com/technoweenie/acts_as_paranoid/blob/master/lib /…

Ответ №2:

В случае, если вы хотите уничтожить уже «мягко удаленные», т. Е. чьи «deleted_at» уже установлены, просто снова уничтожьте, означает, что два раза уничтожение может уничтожить запись, которая удаляет навсегда.