如何删除 ActiveRecord 对象?
我查看了Active Record Querying,它没有任何我可以看到的删除内容。
删除id,
id
删除当前对象,如:user.remove,
user.remove
您可以根据where子句删除吗?
where
它destroy和destroy_all方法,比如
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
delete
delete_all``:before_destroy``:after_destroy
User.delete_all(condition: 'value')将允许您删除没有主键的记录
User.delete_all(condition: 'value')
注意 :来自@hammady 的评论,user.destroy如果用户模型没有主键,则不会工作。
user.destroy
注 2 :来自@pavel-chuchuva 的评论,Rails 5.1 中已弃用destroy_allwith conditions 和with conditions - 请参阅 guides.rubyonrails.org/5_1_release_notes.htmldelete_all
delete_all