2012-12-12 20 views
8

मान लीजिए मैं दो स्कोप तो जैसे के साथ एक 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 

मैं/'लेखक' कॉलम की जरूरत है जब उपयोगकर्ता चयनित 'नहीं लेना चाहते हैं स्मिथ 'गुंजाइश

तो क्या मौजूदा दायरे तक पहुंच प्राप्त करने का एक तरीका है और केवल स्कॉप्स में से एक में लेखक कॉलम दिखाएं? मुझे लगता है कि इस उदाहरण के लिए मैं एक कस्टम व्यू का उपयोग कर सकता हूं और डेटा की वास्तविक सामग्री की जांच कर सकता हूं लेकिन मुझे उम्मीद है कि एक आसान और बेहतर तरीका है।

उत्तर

15

आपको लगता है कि

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

आप आदमी हैं मिलता है। –

+0

धन्यवाद .. जिसने मेरा समय बचाया और स्वीकार कर लिया .. :) – Sai

1

तुम भी @current_scope वस्तु की पहुंच है की तरह कुछ कोशिश कर सकते हैं, और आप @ current_scope.scope_method कर सकते हैं अंतर्निहित गुंजाइश विधि