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 に答える