Некоторые объекты отказываются быть уничтоженными (рельсы) - PullRequest
0 голосов
/ 21 октября 2011

Я выполняю грабли, чтобы уничтожить все мои объекты курса:

task :destroy_all_classes => :environment do 
  Course.all.each do |c| 
    c.destroy
  end 
end

Это уничтожает большинство курсов, но остаются 12 (из 40+).Что может помешать мне удалить их?

Если я попытаюсь удалить каждый курс вручную через консоль, я получу следующее:

ruby-1.9.2-p290 :030 > Course.find(1).destroy
 => false 

1 Ответ

0 голосов
/ 21 октября 2011

Разрешить каскадное разрушение.

Курс имеет как минимум одно отношение "имеет много" или "имеет одно" с другой моделью. Что-то вроде

class Course < ActiveRecord::Base
  has_many :somethings
  has one : something
end

делает его

class Course < ActiveRecord::Base
  has_many :somethings, :dependent => :destroy
  has one :something, :dependent => :destroy
end

Вы также можете использовать

 accepts_nested_attributes_for :something, :allow_destroy => true

Удачи !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...