我目前正在学习Ruby和Ruby on Rails框架。我发现在表格records
中,我可以使用以下代码找到id为5的记录并删除它:
Record.find(5).destroy
这很容易理解- 我将方法链接在一起以查找并销毁该记录。但是,如果我想要销毁表格中的所有记录,则逻辑命令应为以下内容,因为all
选择器会选择表格中的所有记录:
Record.all.destroy
然而,这会返回NoMethodError错误!我知道我可以使用Record.destroy_all
或Record.delete_all
来完成这个任务,但是,我想知道为什么我不能只使用最符合逻辑的选择,而不必查找像delete_all
这样的东西。我对这个框架还很陌生,所以完全有可能我在这里忽略了某些基本事项。
提前感谢任何回答。
Record.all.each { |r| r.destroy }
,但这不如Record.all.destroy
逻辑清晰。 - Simon Woker