我正在运行一个rake任务来销毁我所有的“课程”对象:
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
答案 0 :(得分:0)
启用级联销毁。
课程至少有一个“有很多”或“有一个”与另一个模型的关系。像
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
祝你好运!