0

メソッドを介してSubscriptionforを作成します。User.create_subscription(plan_title)

このメソッドは、メソッドを介して (オーバーサブスクライブされたプランやアーカイブされたサブスクリプションではなく) サブスクライブできることを確認します.plan_subscribable?(plan)

このメソッドはtrueまたはfalseを返しますが、ユーザーに渡すことができるエラー メッセージも返すようにしたいと考えていますfalse

これらの検証エラーを実装する方法と場所は?

class User

  def plan_subscribable?(plan)
    users_subscribed = Subscription.where(plan_id: plan.id).size

    return false unless users_subscribed <= plan.quantity
    return false unless plan.archived == false
    return true
  end

  def create_subscription(plan_title)
    plan = Plan.where(title: plan_title).first

    if plan_subscribable?(plan)
      Subscription.create(...)
    end
  end

end
4

1 に答える 1