加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:34:00 所属栏目:百科 来源:网络整理
导读:我现在开始学习 Ruby和 Ruby on Rails框架.我发现在表记录中,我可以找到id为5的记录,并使用以下代码将其删除: Record.find(5).destroy 这使得-I链方法能够找到记录并将其销毁.但是,如果我想销毁表中的所有记录,则逻辑命令将如下所示,因为all选择器选择表中
我现在开始学习 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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读