私は運が悪いので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
関連するレコードは回復されません。何か不足していますか?