如何在Ruby on Rails应用程序中删除其中一个数据库表中的所有记录?

推荐答案

如果您正在寻找一种不使用SQL的方法,那么您应该能够使用delete_all.

Post.delete_all

还是有一个标准

Post.delete_all "person_id = 5 AND (category = 'Something' OR category = 'Else')"

更多信息请参见here.

删除记录时不首先加载记录,这使得删除速度非常快,但会 destruct 计数器缓存等功能,这些功能依赖于删除时要执行的rails代码.

Ruby-on-rails相关问答推荐

rails:如何在表单验证后使用涡轮刷新列表

在数组中定位不匹配的索引

RubyOnRail在测试环境中启动失败

Rails 5.1.7:Sprockets::Rails::Helper::AssetNotFound

当我必须更改 rspec 中的方法时,如何检测时间?

Selenium chromedriver:无法从不可键入的键构造KeyEvent

Rails 将字符串与视图中的变量连接的最佳方法

如何使用 Rails 3 / Rack 在没有 www 的情况下重定向?

循环大量记录时 Ruby on Rails 内存泄漏; find_each 没有帮助

Rails 3 - Select 包含?

如何在 Ruby on Rails 中创建一个锚点并重定向到这个特定的锚点

我如何在不同的视图中使用助手

使用 Devise 令牌登录,这是内置的吗?

简单表单关联自定义标签名称

适合mysql比较的Ruby datetime

如何在 Rails ActiveRecord 中指定日期小于今天的条件

Rails 4 pgsql add_index 类型为 GIN 或 GiST

用户注册时设计确认令牌无效

在范围内传递参数

使用连接的 Ruby on Rails ActiveRecord 查询