如何在多对多关联中使用偏执狂宝石

时间:2016-12-16 16:23:18

标签: ruby-on-rails ruby

我有以下模型:

class Client < ApplicationRecord
  acts_as_paranoid
  has_and_belongs_to_many :fiscals, uniq: true
end

class Fiscal < ApplicationRecord
  acts_as_paranoid    
  has_and_belongs_to_many :client_suppliers
end

我运行迁移将deleted_at字段放在两个表和连接表上,但是当我销毁客户端时,连接表中的deleted_at没有更新。 我该怎么做才能更新该字段?

1 个答案:

答案 0 :(得分:1)

您应该做的第一件事是确保您的模型deleted_atdate_time并将其设为索引,以便更轻松地找到这些记录

class AddDeletedAtToModel < ActiveRecord::Migration
  def change
    add_column :models, :deleted_at, :datetime
    add_index :models, :deleted_at
  end
end

在您的模型中,您所要做的就是:

class Model < ActiveRecord::Base
  acts_as_paranoid
  ...
end

要查找已删除的记录,您只需:

Model.with_deleted

我希望这有助于