我现在开始学习
Ruby和
Ruby 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).