2012-12-12 7 views
8

Załóżmy, że mam model ActiveAdmin z dwóch zakresów tak:ActiveAdmin: Modyfikacja Index Tabela oparty na aktywnym Zakres

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 

nie chcę/potrzebuję „author” kolumnę gdy użytkownik wybrana " zakres smitha.

Czy istnieje sposób uzyskania dostępu do bieżącego zakresu i wyświetlania kolumny autora tylko w jednym z zakresów? Przypuszczam, że dla tego przykładu mógłbym użyć niestandardowego widoku i sprawdzić aktualną zawartość danych, ale mam nadzieję, że jest łatwiejszy i lepszy sposób.

Odpowiedz

15

można spróbować coś takiego

index do 
    column :title 
    column :published_year 
    column :author unless params['scope'] == 'smith' 
    end 
+0

jesteś człowiekiem. –

+0

Dzięki .. zaoszczędziłem czas i przyjąłem ... :) – Sai

1

mieć również dostęp do obiektu @current_scope, a można zrobić @ current_scope.scope_method dostać instrumentu bazowego metoda zakres

Powiązane problemy