メソッドを介して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