我想清楚的表在我railsapp,没有删除数据库和迁移...为什么不MyModel.all.each {| m | m.destroy}按预期工作?
MyModel.all.each{|m| m.destroy}
我希望这个代码删除my_model表中的每个记录,但这是不会发生... 使用Rails 2.3.4 + MySQL 5.1中
编辑: 问题是基于插件better_nested_set这并没有让我删除的条目依次
MyModel.delete_all
工作,另一方面,也许是因为它执行截断(?)
我知道没有理由,为什么不行。我只用表中的一些数据对它进行了测试,结果非常好。约翰·托普利所说的是正确的,这是一个更好的方法,但你的工作也应该如此。我想我会分解它,并确保每一步工作。也就是说,“MyModel.all”会返回你期望的结果吗?并且“MyModel.all.each {| m | <关于每个项目打印出某些东西>}”工作吗?那么你可以做一个“list = MyModel.all”和“list [0] .destroy”的工作吗? – 2009-12-07 20:25:06
John是对的,如果你看看'destroy_all'的源码,那么它的功能就差不多了:http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002274 – 2009-12-08 09:48:29
我发现我在数据库中有一些依赖关系,并且删除没有级联正确的 – 2010-02-11 09:03:46