#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» уже установлены, просто снова уничтожьте, означает, что два раза уничтожение может уничтожить запись, которая удаляет навсегда.