Использование зависимых:: уничтожить не работает на рельсах
У меня есть таблица Bmp с этими ассоциациями
class Bmp < ActiveRecord::Base
#associations
has_many :subareas, dependent: :destroy
belongs_to :scenario
и еще одна таблица подрайонов
class Subarea < ActiveRecord::Base
#associations
belongs_to :scenarios
belongs_to :soil
belongs_to :bmp
однако, когда я пытаюсь удалить bmp, он также должен удалить мой подрайон, но это не так.
def destroy
@bmp = Bmp.find(params[:id])
@bmp.destroy
Я не вижу, где я облажался, любые идеи очень ценятся!
1 ответ
Ваш подрайон все еще будет принадлежать сценариям!! Если вы удалите их, ассоциации будут нарушены между ними.
Удалите "assign_to: сценарии" в subarea.rb.
Добавьте "has_many: subareas, trough::bmp" в scene.rb.
Это будет поддерживать отношения между подрайонами и сценариями, но поставит bmp "на пути" между ними и позволит "уничтожить цепь".