如何删除ActiveRecord对象?
我看了Active Record Querying,但它没有任何关于删除的内容.
删除
id
条,删除当前对象,如:
user.remove
,你能根据
where
条款删除吗?
如何删除ActiveRecord对象?
我看了Active Record Querying,但它没有任何关于删除的内容.
删除id
条,
删除当前对象,如:user.remove
,
你能根据where
条款删除吗?
有destroy
种和destroy_all
种方法,比如
user.destroy
User.find(15).destroy
User.destroy(15)
User.where(age: 20).destroy_all
User.destroy_all(age: 20)
或者,您可以使用delete
和delete_all
,它们不会强制执行:before_destroy
和:after_destroy
回调或任何依赖关联选项.
User.delete_all(condition: 'value')
将允许您删除记录
Note:根据@hammady的 comments ,如果用户模型没有主键,user.destroy
将不起作用.
Note 2:根据@pavel chuchuva的 comments ,Rails 5.1中不推荐使用带条件的destroy_all
和带条件的delete_all
-参见指南.rubyonrails.org/5_1_发行说明.html