私はカンカンの宝石で許可を取ります。
「CANCAN」で2つのモデルの権限を管理するにはどうすればよいですか?
ありがとう
==================================
私がすることができます ????
class Ability
include CanCan::Ability
def initialize(user)
# code
end
def initialize(accounts)
#code
end
end
私はカンカンの宝石で許可を取ります。
「CANCAN」で2つのモデルの権限を管理するにはどうすればよいですか?
ありがとう
==================================
私がすることができます ????
class Ability
include CanCan::Ability
def initialize(user)
# code
end
def initialize(accounts)
#code
end
end
class ApplicationHelper
def current_auth_resource
if admin_signed_in?
current_admin
else
current_user
end
end
def current_ability
@current_ability or @current_ability = Ability.new(current_auth_resource)
end
end
class ApplicationController
include ApplicationHelper
end
class Ability
include CanCan::Ability
def initialize(user)
if user.is_a?(Admin)
# add admin permissions only
elsif user.is_a?(User)
# add user permissions only
else
# add guest permissions only
end
end
end
これを確認してください
特定のユーザーが操作およびアクションを実行できるモデルをability.rbファイルで指定する必要があります。
class Ability
include CanCan::Ability
# usual setup
def initialize(user)
user ||= User.new
if user.has_role? :admin
can :manage, :all
end
if user.has_role? :less_important_role
can [:read, :update], Model1
can :manage, Model2
end
end
end
能力の定義について詳しくは、ドキュメントをご覧ください。