Задать вопрос
shaks
@shaks

Как правильно удалять записи в связанных таблицах?

Есть модель. Модель имеет ассоциации с другими моделями. Опция :dependent => :destroy присутствует.. удаление происходит... но если заглянуть в консоль, то мы там увидим примерно следующее:
f48ef6ea9bd840949faacbbe293a3a2a.png
Модель User
class User < ActiveRecord::Base
	has_many :transactions, :dependent => :destroy
end

Модель Transaction
class Transaction < ActiveRecord::Base
	belongs_to :user
end


Собственно, почему делается SELECT * FROM а потом происходит "поштучное" удаление записей из таблицы? Причем для удаления используется только id, а выборка забирает всё.
Мне нужно эту "фичу" обойти, и удалить по людски - DELETE FROM `transactions` WHERE `user_id` = ?

Все бы ничего, вопрос этот весит у меня уже давно, обычно я на него забиваю, т.к. было не критично. Но сейчас - критично и такой беспредел мне не нужен )
  • Вопрос задан
  • 3041 просмотр
Подписаться 2 Оценить Комментировать
Решения вопроса 1
viktorvsk
@viktorvsk
dependent: delete_all
Беспредел ради того,что б у вас работали все коллбэки и валидации
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы