簡體   English   中英

cancancan自定義操作不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM