[英]How can I invite users (using devise_invitable) and populate additional fields during the invite process?
[英]How to restrict who can invite users with devise_invitable and cancancan
我使用 devise_invitable 來邀請用戶,並使用 cancancan 來定義應用程序中的能力。 我如何定義誰可以發送邀請的能力?
# app/controllers/invitations_controller.rb
class Devise::InvitationsController < DeviseController
...
before_action :is_admin?, :only => [:new, :create]
...
private
def is_admin?
current_user.role == 'admin'
end
end
您可以覆蓋方法authenticate_inviter!
在您的ApplicationController
def authenticate_inviter!
send(:"authenticate_#{resource_name}!", force: true).tap do |inviter|
@current_ability = ::Ability.new(inviter)
authorize! :invite, SysManager
end
end
然后使用 cancancan 定義誰can :invite, SysManager
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.