一些物体拒绝被摧毁(铁轨)

时间:2011-10-21 05:20:40

标签: ruby-on-rails ruby object rake

我正在运行一个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 

1 个答案:

答案 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

祝你好运!