[英]cancancan custom action not working
我在應用程序中使用cancancan和activeadmin gem,在cancan gem中,自定義操作不起作用。
ability.rb
if ((user.has_role? :HRMS_Supervisor) && (user.has_application? :HRMS))
can :manage, User
can :approve, User // custom action
end
if ((user.has_role? :HRMS_Employee) && (user.has_application? :HRMS))
can :read, Employee
can :manage, User
can :employee_access, User // custom action
end
我的activeadmin文件
ActiveAdmin.register Teleworker do
scope :pending, default: true
scope :approved
scope :rejected, if: proc{ can? :employee_access, current_user }
scope :all
index do
selectable_column
column "Action" do |resource|
links = ''.html_safe
if can? :approve, current_user
links += link_to "approve", resource_path(resource), class: "member_link view_link"
end
end
end
這兩個角色均顯示拒絕的范圍和link_to“批准”。 如何解決這個問題。
can :manage, User
已經包括所有自定義動作。 因此,您的兩個角色都可以執行兩個自定義操作。
您可以使用Crud操作的列表: can %i(create read update delete), User
can :manage, User
兩個角色的can :manage, User
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.