模拟 rails api 中的删除

Mocking a deletion in rails api

我想模拟删除而不实际删除任何内容。例如,过去在餐厅的预订。出于法律目的,该应用程序。实际上不能删除。最初我有类似的东西:

当我删除过去的预订时 ... 删除(“/预订/...) 结束

我在预订 table 上设置了一个布尔值,它将指示预订是否为 active/inactive。

我不确定我的销毁动作会是什么样子。 由于我不能使用 delete 动词,我该怎么做才能绕过这个约束?我被难住了。

这是相当普遍的行为

在控制器中保持一切相同,但在 destroy 方法中,而不是删除记录,将其标记为存档,(或任何您的术语)

例如

@reservation.update_attribute(:archived, true)

您还应该具有解决存档属性的范围,例如:

class Reservation < ActiveRecord::Base
  scope :active, -> {
    where(archived:false)
  }

  scope :archived, -> {
    where(archived:true)
  }
end