【问题标题】:Deleting a record from database从数据库中删除记录
【发布时间】:2011-03-19 07:50:29
【问题描述】:

在 Ruby on Rails 中,是 @variable.delete 还是 @variable.destroy

【问题讨论】:

  • 这不是一个真正的 Ruby 问题,它是您使用的任何 ORM 的问题,因为您使用的是 Rails,所以可能是 ActiveRecord。如何改写您的问题和标题以反映 ORM 而不是 Ruby。事实上,这是一个令人困惑的问题。
  • 是的,你是对的,我会改变它

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord


【解决方案1】:

@variable.destroy 将调用所有回调(before_destroy 等)并确保尊重关联。 @variable.delete 只是调用原始数据库查询来删除对象。使用destroy 通常会更安全,即使它更贵。

【讨论】:

    【解决方案2】:

    假设您正在使用 ActiveRecord,并且 @variableActiveRecord::Base 子类的实例,您调用 @variable.destroy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 2019-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多