你如何删除一个ActiveRecord对象?

你如何删除一个ActiveRecord对象?

我查看了Active Record Query,它没有任何关于删除的东西,我可以看到。

  • id删除,

  • 删除当前对象,如: user.remove

  • 你可以根据where子句删除吗?


  • 这是destroydestroy_all方法,就像

    user.destroy
    User.find(15).destroy
    User.destroy(15)
    User.where(age: 20).destroy_all
    User.destroy_all(age: 20)
    

    或者,您可以使用deletedelete_all ,它不会强制执行:before_destroy:after_destroy回调或任何相关的关联选项。

    User.delete_all(condition: 'value')将允许您删除没有主键的记录


    deletedelete_alldestroydestroy_all

    文档是:较旧的文档和Rails 3.0.0文档

    delete不会实例化对象,而destroy则会。 一般来说, deletedestroy更快。


  • User.destroy
  • User.destroy(1)将删除id == 1用户,并且:before_destroy:after_destroy回调发生。 例如,如果你有关联的记录

    has_many :addresses, :dependent => :destroy
    

    用户被销毁后,他的地址也会被销毁。 如果您使用删除操作,则不会发生回叫。

  • User.destroyUser.delete

  • User.destroy_all(<conditions>)User.delete_all(<conditions>)

  • 注意 :用户是一个类,用户是一个实例对象

    链接地址: http://www.djcxy.com/p/49719.html

    上一篇: How do you delete an ActiveRecord object?

    下一篇: Add Skype contact from another android app