ruby-on-rails – 为什么我不能在Rails中使用Record.all.destroy?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为什么我不能在Rails中使用Record.all.destroy?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在开始学习 RubyRuby on Rails框架.我发现在表记录中,我可以找到id为5的记录,并使用以下代码将其删除

Record.find(5).destroy

这使得-I链方法能够找到记录并将其销毁.但是,如果我想销毁表中的所有记录,则逻辑命令将如下所示,因为all选择器选择表中的所有记录:

Record.all.destroy

这会返回NoMethodError!我知道我可以使用Record.destroy_all或Record.delete_all来完成这个任务,但是,我想知道为什么我不能只使用最合乎逻辑的选择而不必查找delete_all之类的东西.我是这个框架的新手,所以我完全有可能在这里缺少一些基本的东西.

感谢您提前的任何答案.

解决方法

这是一个设计决定. DataMapper占用了 your approach.强制显式地写destroy_all可能很乏味,但也会阻止你做你真正不想要的事情(即删除表中的所有东西,比如x = User; …; x.destroy).

猜你在找的Ruby相关文章