仅限特定用户的活动管理员默认链接

时间:2013-07-01 18:52:18

标签: ruby-on-rails ruby-on-rails-3.2 activeadmin authlogic

在主动管理员中,我只想让某些用户能够下载表数据的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的活动管理员。

1 个答案:

答案 0 :(得分: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

就是这样!