Rails: CanCanCan 限制创建资源的数量
Rails: CanCanCan to limit number of resource creation
我正在为我的 rails 应用程序使用 CanCanCan gem。我想根据用户订阅计划限制 page
创建的数量。例如拥有 basic
计划的用户最多只能创建 10 个页面。我怎样才能实现它?我试图通过使用以下规则引入限制:
can :create, :pages if user.subscription_plan == "basic" && Page.count <= 10
但是一旦我的页码超过 10,它就会阻止访问 pages
控制器上的每个控制器。我在 pages
控制器上使用以下代码。
before_action :authorize_user
.
.
.
def authorize_user
authorize! :create, :pages
rescue => e
redirect_to admin_path, :alert => "You've reached your page creation limit."
end
如何最好地达到我需要的影响力?
控制器中的每个动作都会触发您的前动作。将其限制为 'create' 操作:
before_action :authorize_user, only: :create
我正在为我的 rails 应用程序使用 CanCanCan gem。我想根据用户订阅计划限制 page
创建的数量。例如拥有 basic
计划的用户最多只能创建 10 个页面。我怎样才能实现它?我试图通过使用以下规则引入限制:
can :create, :pages if user.subscription_plan == "basic" && Page.count <= 10
但是一旦我的页码超过 10,它就会阻止访问 pages
控制器上的每个控制器。我在 pages
控制器上使用以下代码。
before_action :authorize_user
.
.
.
def authorize_user
authorize! :create, :pages
rescue => e
redirect_to admin_path, :alert => "You've reached your page creation limit."
end
如何最好地达到我需要的影响力?
控制器中的每个动作都会触发您的前动作。将其限制为 'create' 操作:
before_action :authorize_user, only: :create