微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/ruby/269341.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐