I lost hours to solve it, but I know, I am a newbie =X.
My use case is, if the user have role
:agency, he can see clients. But I have to use the link between the client's agency to verify this. Take a look bellow to see my code:
class Agency < ApplicationRecord has_many :agency_clients has_many :clients, through: :agency_clients resourcify end
class AgencyClient < ActiveRecord::Base belongs_to :agency belongs_to :client end
class Client < ApplicationRecord has_many :agency_clients has_many :agencies, through: :agency_clients resourcify end
class ClientPolicy < ApplicationPolicy def show? user.has_role?(:admin) || user.has_role?(:client, record) end class Scope < Scope def resolve if user.has_role? :admin scope.all elsif user.has_role? :client, :any scope.with_role(:client, user) else scope.none end end end end
Really, please, save my day! Be a hero!
Join 30,005+ developers who get early access to new screencasts, articles, guides, updates, and more.