У меня есть приложение Rails 4, и я пытаюсь найти свою модель Task с помощью гема Searchkick. Но я хочу, чтобы результаты поиска включали только задачи, для которых у текущего пользователя есть определенная роль Rolify. По сути, пользователь не может искать Задачи других пользователей.
В драгоценном камне Rolify есть метод для получения задач, для которых у текущего пользователя есть определенная роль.
Task.with_role(:viewer, current_user) #=> Tasks where the current user has a viewer role.
Я не могу понять, как отфильтровать результаты Searchkick, чтобы искать только задачи, возвращенные в приведенном выше коде. Я хочу сделать что-то вроде этого,
Task.with_role(:viewer, current_user).search("foo") #=> Returns all Tasks that match foo
Но он включает все задачи, соответствующие foo, а не только задачи текущего пользователя, соответствующие foo. Я знаю, что существует таблица UsersRoles, которую Rolify использует для связи пользователей и ролей, но я не знаю, как связать ее с ролями модели задач.
Можно ли искать роли модели задачи для определенной роли, принадлежащей текущему пользователю, в запросе Searchkick?