0

我想以与限制索引区域的项目类似的方式限制 CSV 下载的列。

对于我的索引,我有:

index do
    column "Name" do |purchase|
      purchase.user.full_name
    end
    if current_admin_user.superuser?
      column "User" do |purchase|
          link_to purchase.user.email, admin_user_path(purchase.user)
      end
    end
end

只有高级管理员才能查看用户的电子邮件地址。

如果我对 CSV 做同样的事情,AA 会抛出一个错误:

undefined local variable or method `current_admin_user'

我可以在函数内进行 current_admin_user 检查而不会出错:

column "User Name" do |purchase|
  if current_admin_user.superuser?
    purchase.user.full_name.gsub(',','')
  end
end

但这有点草率,因为它给较小的管理员用户留下了死列。

有人为我解决了吗?

4

1 回答 1

0

尝试

index do
  column "Name" do |purchase|
    purchase.user.full_name
  end
  column "User", :if => proc{ current_admin_user.superuser? } do |purchase|
      link_to purchase.user.email, admin_user_path(purchase.user)
  end
  end
end
于 2013-01-31T07:51:38.970 回答