Как использовать CanCan с контроллерами драгоценных камней?

Я потратил некоторое время, пытаясь выяснить, как лучше всего разрешить контроллер, который из драгоценного камня с CanCan. Я специально использую Комфортный мексиканский диван. У меня есть все настройки с Devise и CanCan, но у вас проблемы с авторизацией определенных контроллеров из Comfy. Самое близкое, что я могу найти, похоже на то, что мне нужно, находится в кристалле Крепости CMS.

Я попытался использовать инициализаторы и механизмы для расширения before_action и написать простой метод auth. Единственное, что я могу найти для CanCan и Comfy, - это здесь, но он касается адресатов сайта только для определенных контроллеров, таких как страницы, блоги и т.д.

В принципе, он приходит вниз - как я могу расширить контроллер gem, чтобы я мог аутентифицировать пользователя для этого контроллера?

Ответ 1

На initializer вы можете настроить свою собственную логику авторизации:

# Uncomment this module and `config.public_authorization` above to use custom public authorization
module ComfyPublicAuthorization
  def authorize
    # TODO: your own authorization logic. Check params variable here
    true
  end
end