ActiveAdmin:基于Active Scope修改索引表

Mar*_*ser 11 ruby-on-rails activeadmin

假设我有一个ActiveAdmin模型,有两个范围,如下所示:

ActiveAdmin.register Book do

  scope :all, default: true
  scope :smith #all books by author 'smith'

  index do
    column :title
    column :published_year
    column :author
  end
end
Run Code Online (Sandbox Code Playgroud)

当用户选择'smith'范围时,我不希望/需要'author'列.

那么有没有办法访问当前范围,只显示其中一个范围内的作者列?我想在这个例子中我可以使用自定义视图并检查数据的实际内容,但我希望有一种更简单,更好的方法.

Fiv*_*ell 21

你可以试试这样的东西

index do
    column :title
    column :published_year
    column :author unless params['scope'] == 'smith'
  end
Run Code Online (Sandbox Code Playgroud)