重複するサブスクリプションの問題

コミュニティの会費が最近変更されました。Stripeの仕組みにより、新しい価格で新しいサブスクリプション製品を作成する必要があり、メンバーには今年はこの新しい製品で手動で更新する必要があることを伝えました。古いサブスクリプションと新しいサブスクリプションの両方が、メンバーがプライベートカテゴリを表示するための権限を付与する「プライベートグループ」にリンクされています。

しかし、一部のメンバーは、古いサブスクリプションが期限切れになる前に新しい製品を購読しています。その場合、古いサブスクリプションが期限切れになると、新しいサブスクリプションがまだ有効であるにもかかわらず、プラグインがメンバーをプライベートグループから削除しているようです。もちろん、これは混乱や苦情を引き起こしています。

これをどのように解決すればよいかわからないため、誰か提案してくれることを願っています。よろしくお願いします!

古いサブスクリプションに関連付けられたグループをダミーのグループに変更してみてはどうでしょうか。その後、それが期限切れになったら、そのダミーのグループからそれらのユーザーを削除します。古いサブスクリプションが期限切れになった後もグループのメンバーであり続けるため、定期的にそれらのユーザーを手動でグループから削除する必要があります。

もう1つのアイデアは、以下のようなことを行うことでしたが、それを行う方法を理解するにはソースを確認する必要があり、上記のソリューションで内部を知る必要がないと考えています。

   old_subscriptions=SubscriptionOrSomethingLikeThat.where(somefield: 'sub_xyz')
   old_subscriptions.destroy_all

「正しい」方法は、新しいサブスクリプションのために新しいグループを作成し、それを関連するカテゴリに追加することだったと思います。それも面倒な作業でした。

「いいね!」 1