Мне нужно добавить фильтр для пользователей.Пользователь может видеть других пользователей, только если он принадлежит к той же ветке.Один пользователь может принадлежать нескольким веткам.
Я определяю способности с помощью блоков ниже.Но после обращения к документации и сообщения об ошибке я узнал, что метод index
не подходит для определения способности с помощью блока.
#This code is part of initialisation method of ability.rb
can :index, User do |curr_user|
#check if user belongs to same branch
!curr_user.branch_ids.index(branch_id).nil?
end
Вот метод индекса контроллера пользователя
def index
authorize! :index, User
@users = User.where(params[:user]).accessible_by(current_ability, :index)
renders :obj =>@users
end
Какая альтернатива для определения способностей для реализации этой логики вместо определения способностей с блоками?