cancan icon indicating copy to clipboard operation
cancan copied to clipboard

How to differentiate permissions between admin/users_controller and users_controller

Open vishaltps opened this issue 7 years ago • 0 comments

#I applied dynamic role and permissions in my application. For that, i used Abilities-in-Database and dynamic-roles-and-permissions-using-cancan in base_controller.rb

   `class Admin::BaseController < ApplicationController
 include Admin::InheritAction
   before_action :authenticate_user!

  def current_ability
    @current_ability ||= AdminAbility.new(current_user)
 end
   end`

in admin_ability.rb ` class AdminAbility include CanCan::Ability

def initialize(user) user.roles.each do |role| role.permissions.each do |permission| if permission.subject_class == "all" can permission.action.to_sym, permission.subject_class.to_sym else can permission.action.to_sym, permission.subject_class.constantize end

  end

end

end end `

User has many roles and role has many permissions. I created a namespace for admin's controllers, like admin/users_controller , i also have another users controller . The admin will manage permissions from the admin/permissions_controller in which admin can assign permissions to any role.

For admin controllers, I checked this Admin Namespace from wiki and applied in my application.

But the problem is that this only manage permissions for admin name space controller and i want to manage permissions of both admin/users_controller and users_controller from admin/permissions page. What will be the subject_class for User::registrations_controller ? How can i manage the same controller name from admin side ? I am stuck in problem since last 2 days. can't figure out what should i do ?

vishaltps avatar Feb 08 '17 06:02 vishaltps