假设我有一个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
当用户选择'smith'范围时,我不想/需要'author'列。
那么有没有办法访问当前作用域并只在其中一个作用域中显示作者列?我想在这个例子中我可以使用自定义视图并检查数据的实际内容,但我希望有一种更简单,更好的方法。
答案 0 :(得分:21)
你可以尝试类似的东西
index do
column :title
column :published_year
column :author unless params['scope'] == 'smith'
end
答案 1 :(得分:4)
您还可以访问@current_scope对象,并且可以执行@ current_scope.scope_method以获取基础范围方法