Неопределенный метод Current_user: Cancan и Active Scaffold
-
10-10-2019 - |
Вопрос
Я пытаюсь добавить ссылку на действие к активному контроллеру каркаса, используя
if current_user.can? :update, Post
config.action_links.add 'export', :label => 'Export', :page => true
end
Но какой бы контроллер я пытался использовать, я всегда получаю undefined method current_user
Итак, как я могу проверить, может ли зарегистрированный пользователь/не может что -то сделать?
Я даже пробовал с
def ability
@ability ||= Ability.new(self)
end
delegate :can?, :cannot?, :to => :ability
как предполагалось здесь, но без успеха.
Что не так с этим?
Решение
current_user - это типично определенный метод, но он должен добавить. Это не поставляется рельсами. Таким образом, вам нужен метод current_user в вашем приложении. Есть тонны примеров, но я бы посмотрел на Authlogic Пример приложения на GitHub
Другие советы
Обратите внимание, что в обычном случае конфигурация ActiveScaffold выполняется в классе, а не в экземпляре, поэтому нет набора current_user, потому что запрос еще нет.