代码之家  ›  专栏  ›  技术社区  ›  Boucherie

调用软删除对象以使用偏执宝石进行真正的销毁

  •  1
  • Boucherie  · 技术社区  · 6 年前

    我有一个通过偏执宝石调用的帐户列表这是在帐户控制器中: @deleted_accounts_count = Account.only_deleted.count

    @deleted_accounts = Account.only_deleted.paginate(
              total_entries: @deleted_accounts_count, 
              page: params[:page], 
              per_page: 10
            )
    

    无论如何。我可以通过控制台调用这个列表,但我试图调用一个特定的帐户并硬删除( really_destroy )它-每次我试图使用它的名称、id(327)或deleted_at属性调用它时,都会得到一个空对象。

    Account.only_deleted.where(deleted_at:"2018-07-25 07:39:57")
    [■]   Account Load (1.7ms)  SELECT "accounts".* FROM "accounts" WHERE ("accounts"."deleted_at" IS NOT NULL) AND "accounts"."deleted_at" = $1  [["deleted_at", "2018-07-25 07
    :39:57"]]
    => #<ActiveRecord::Relation []>
    
    
    irb(main):008:0> Account.only_deleted.where(id:327)
    [■]   Account Load (1.0ms)  SELECT "accounts".* FROM "accounts" WHERE ("accounts"."deleted_at" IS NOT NULL) AND "accounts"."id" = $1  [["id", 327]]
    => #<ActiveRecord::Relation []>
    irb(main):009:0> Account.only_deleted.find(id:327)
    [■]   Account Load (1.1ms)  SELECT  "accounts".* FROM "accounts" WHERE ("accounts"."deleted_at" IS NOT NULL) AND "id"."id" = 327 LIMIT 1
    ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "id"
    LINE 1: ..." WHERE ("accounts"."deleted_at" IS NOT NULL) AND "id"."id" ...
                                                                 ^
    : SELECT  "accounts".* FROM "accounts" WHERE ("accounts"."deleted_at" IS NOT NULL) AND "id"."id" = 327 LIMIT 1
    

    如何从软删除列表中调用此已删除帐户以应用所需的方法?

    0 回复  |  直到 6 年前
    推荐文章