你如何删除一个ActiveRecord对象?
你如何删除一个ActiveRecord对象?
我查看了Active Record Query,它没有任何关于删除的东西,我可以看到。
按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')
将允许您删除没有主键的记录
有delete
, delete_all
, destroy
和destroy_all
。
文档是:较旧的文档和Rails 3.0.0文档
delete
不会实例化对象,而destroy
则会。 一般来说, delete
比destroy
更快。
User.destroy
User.destroy(1)
将删除id == 1
用户,并且:before_destroy
和:after_destroy
回调发生。 例如,如果你有关联的记录
has_many :addresses, :dependent => :destroy
用户被销毁后,他的地址也会被销毁。 如果您使用删除操作,则不会发生回叫。
User.destroy
, User.delete
User.destroy_all(<conditions>)
或User.delete_all(<conditions>)
注意 :用户是一个类,用户是一个实例对象
链接地址: http://www.djcxy.com/p/49719.html