1

在活动管理员中,我只想让某些用户能够下载表格数据的 csv。

我知道如何为这样的所有用户关闭它:

index :download_links => false do
  # columns
end

理想情况下,我想做这样的事情:

index :download_links => current_admin_user.can_download? ? [:csv] : false do
  # columns
end

但我无权访问 current_admin_user。另外,我尝试在前置过滤器中设置参数,但这也不起作用。我现在被困住了,正在努力解决这个问题。

我正在使用 authlogic 以及带有 rails 的活动管理员。

4

1 回答 1

0

所以我想通了。这还不算太糟糕,我只是不得不以不同的方式解决这个问题。只需将此方法添加到 application_controller.rb

def require_can_download_for_csv
  raise unless current_admin_user.can_download?
end

然后将其添加到您的 active_admin 初始化程序中:

config.before_filter :require_can_download_for_csv

就是这样!

于 2013-07-01T19:41:01.390 回答