Задать вопрос
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` = ?

Все бы ничего, вопрос этот весит у меня уже давно, обычно я на него забиваю, т.к. было не критично. Но сейчас - критично и такой беспредел мне не нужен )
  • Вопрос задан
  • 3054 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
Решения вопроса 1
viktorvsk
@viktorvsk
dependent: delete_all
Беспредел ради того,что б у вас работали все коллбэки и валидации
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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