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).

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...