Я установил гем Pundit в свое приложение Rails и внимательно следил за инструкциями в README.
Однако, когда я использую авторизацию в любом из моих контроллеров, я получаю сообщение об ошибке «undefined method 'authorize' for.
Кроме того, когда я пытаюсь использовать «policy» в представлении, я получаю сообщение об ошибке «undefined method 'policy'».
Как будто Pundit вообще не установили!
Я включил Pundit в свой контроллер приложений.
У меня есть файл ApplicationPolicy со всеми моими политиками, а затем файлы политик для каждого типа записи, наследуемой от политики приложения.
По какой-то причине я не могу вставить свой код в этот вопрос, поэтому надеюсь, что включил достаточно информации!
Буду признателен за любые мысли.
include Pundit
первой строкой после объявленияApplicationController
. Кроме того, наследуются ли ваши контроллеры отApplicationController
? - person nikkon226   schedule 02.12.2014authorize
, который конфликтует с Pundit. В моем контроллере приложения у меня есть этотalias_method :require_login, :authorize
, а следующая строка - это мойinclude Pundit
. Кроме того, убедитесь, что вы вызываете авторизацию для экземпляра модели (т. Е.authorize @my_var
) - person craig.kaminsky   schedule 05.01.2015