0

私は運が悪いのでacts_as_paranoid gemを使おうとしています。私はClientモデルを持っています:

class Client < ActiveRecord::Base
    acts_as_paranoid
    has_many :purchases, dependent: :destroy
    has_many :payments, dependent: :destroy
end

また、購入および/または支払いでクライアントを破棄してから回復しようとすると、クライアントのみが回復され、関連付けは回復されません。

> c = Client.find(231)
> c.payments.length
  Payment Load (0.6ms)  SELECT "payments".* FROM "payments" WHERE "payments"."client_id" = $1  [["client_id", 231]]
 => 1
> c.purchases.length
  Purchase Load (0.6ms)  SELECT "purchases".* FROM "purchases" WHERE "purchases"."client_id" = $1  [["client_id", 231]]
 => 1

クライアントを削除した場合:

> c.destroy

を実行するClient.only_deletedと、削除されたばかりのクライアントが表示されます。ただし、それを回復して購入または支払いを読み込もうとすると、何もありません。

> Client.only_deleted.first.recover
> c = Client.find(231) # success
> c.payments.length # fail
  => 0

関連するレコードは回復されません。何か不足していますか?

4

3 に答える 3