2012-02-27 18 views
8

ActiveAdmin के साथ पंजीकृत एक संसाधन में ActiveAdmin में default_scope ओवरराइड करने के लिए, मैं निम्नलिखित default_scope मॉडल के लिए निर्धारित हैं:कैसे रेल

default_scope :order => 'activities.updated_at DESC' 

जाहिरा तौर पर मुझे सक्षम किया जा रहा से रोकता संसाधन सूचकांक पर छँटाई बदलने के लिए कॉलम शीर्षक पर क्लिक करके पेज। क्या इस डिफ़ॉल्ट दायरे को रखने का कोई तरीका है लेकिन काम करने के लिए सक्रिय व्यवस्थापक सॉर्टिंग प्राप्त करें?

उत्तर

0

क्या आप गतिविधियों को गुंजाइश करने की कोशिश कर रहे हैं या बस उन्हें आदेश दे रहे हैं, क्योंकि यह कॉल केवल उन्हें आदेश देता है, यह वास्तव में सख्त विचार में क्वेरी को स्कॉप नहीं कर रहा है।

मुझे ActiveAdmin और उनके दस्तावेज़ों के बारे में क्या पता है, उससे आपको शायद इसे इस तरह सेट करना चाहिए।

class Activities < ActiveRecord::Base 
    default_scope lambda { where :updated_at => true } 
    end 
33
ActiveAdmin.register Post do 
    controller do 
    def scoped_collection 
     Post.unscoped 
    end 
    end 
end 
1

इस समाधान बाहर की कोशिश करो।

#/admin/user.rb 
controller do 
    # for index page 
    def active_admin_collection 
    User.unscoped { super } 
    end 

    # for show, edit 
    def resource 
    User.unscoped { super } 
    end 
end 
1
scope('all', default: true) { |scope| scope.where(...) }