Канкан и АктивРекорд. Как ограничить загрузку файлов определенной ролью

Если у меня есть роль администратора и суперадминистратора. Как я могу ограничить загрузки только суперадмином.

index download_links: current_user.super_admin? do
    column :email
    column :query
    default_actions
end

Выдает следующую ошибку для current_user и current_admin_user:

undefined local variable or method `current_admin_user' for #<ActiveAdmin::ResourceDSL:

В любом случае, чтобы извлечь это в пользовательскую способность CanCan? Кроме того, даже когда я скрываю ссылки для определенного пользователя, переход на URL.csv по-прежнему загружает ссылки. Кого я могу заблокировать?


person Peter R    schedule 09.06.2015    source источник
comment
«download_links» — это ваш собственный метод в ActiveAdmin, верно?   -  person Anant Kolvankar    schedule 09.06.2015
comment
Нет, это метод ActiveAdmin @AnantKolvankar   -  person Peter R    schedule 09.06.2015


Ответы (1)


Вам нужно поместить current_user.super_admin? в Proc.

index download_links: ->{ current_user.super_admin? } do
    column :email
    column :query
    default_actions
end
person Timo Schilling    schedule 08.07.2015
comment
В итоге я пошел другим путем. Помощник по ссылкам для скачивания бесполезен с точки зрения безопасности. Он избавляется от ссылок, но не блокирует этого пользователя от простого ввода формата в адресной строке. - person Peter R; 09.07.2015
comment
Я знаю, для этого есть проблема и пиар. - person Timo Schilling; 09.07.2015