10

के साथ फ़िल्टर से पहले छोड़ें मैं devise का उपयोग कर रहा हूं और हाल ही में सक्रिय व्यवस्थापक जोड़ा गया है, जिसने व्यवस्थापक को रखने के लिए admin_users की एक अलग तालिका बनाई है।सक्रिय व्यवस्थापक

जब मैं लॉग इन करने और ब्राउज़ करने का प्रयास करता हूं तो सभी सक्रिय व्यवस्थापक के साथ ठीक काम करता है। ।

before_filter :authenticate_user!, :except => [:show, :index] 
इस वजह से

, जब सक्रिय व्यवस्थापक इंटरफ़ेस के अंदर, जब भी मैं संपादित करने या कुछ भी हटाने का प्रयास, यह मेरे लिए लॉग इन करने के लिए कहता है मैं एक skip_before_filter कि सीखा है: हालांकि, अपने आवेदन नियंत्रक सामान्य उपयोगकर्ताओं के लिए इस है नियंत्रक के अंदर उपयोग किया जा सकता है जिसमें पहले_फिल्टर को बाहर करने की आवश्यकता है, हालांकि सक्रिय व्यवस्थापक में नियंत्रक फ़ोल्डर में या मेरे प्रोजेक्ट में कहीं भी नियंत्रक फ़ाइल नहीं है, जिसे मैं देख सकता हूं।

किसी को कैसे सक्रिय नियंत्रक ही आवेदन beofre_filter जो मैं ग्राहक/उपयोगकर्ता का सामना करना पड़ के सभी पर लागू करना चाहते हैं की अनदेखी करने के लिए सुझाव है कि कर सकते हैं?

उत्तर

33

config/initializers/active_admin.rb में आप निम्न जोड़ सकते हैं:

config.skip_before_filter :authenticate_user! 

तुम भी ActiveAdmin नियंत्रक संशोधित करने के लिए प्रदान की डीएसएल उपयोग कर सकते हैं:, http://activeadmin.info/docs/8-custom-actions.html#modify_the_controller

+0

बिल्कुल सही! धन्यवाद – alik

+0

किसी कारण से, प्रारंभकर्ता फ़ाइल में रेखा मेरे लिए काम नहीं कर रही है। और मुझे यकीन नहीं है। । ActiveAdmin नियंत्रक को संशोधित करने के लिए आप किस फाइल में कोड जोड़ते हैं? – John

+0

@ जॉन सुनिश्चित करें कि आप किसी भी प्रारंभकर्ता को बदलने के बाद अपने ऐप को पुनरारंभ करें, और आप व्यवस्थापक परिभाषा फ़ाइलों (यानी ऐप/व्यवस्थापक/post.rb) के अंदर नियंत्रक-संशोधित डीएसएल का उपयोग कर सकते हैं। – coreyward

3

मैं @ काम करने के लिए coreyward समाधान नहीं मिल सकता है, लेकिन संपादन config/application.rb रूप this Devise post प्रति और जोड़ने:

ActiveAdmin.register_page "Dashboard" do 
    controller do 
     skip_before_filter :name_of_filter_to_skip 
    end 

    # Other code 
end 

को 210 चाल चल रही थी। यह केवल config/application.rb को संपादित करके काम नहीं करता है। अपने सर्वर को पुनरारंभ करना सुनिश्चित करें!

+0

प्रलेखन कहता है कि कॉन्फ़िगरेशन चरण आपके सभी संसाधन नियंत्रकों को कॉन्फ़िगरेशन जोड़ता है, इसलिए डैशबोर्ड को स्पष्ट रूप से छोड़ दिया जाता है वह सूची ... सीधे/admin/some_resouce पर जा रही है मेरे लिए चीजें छोड़ती है ... तो आप सही हैं, कोरयवर्ड के समाधान – fringd

1
कोरी और Sooie की

दोनों सही है ... लेकिन केवल आंशिक रूप से, अपने कंबल authorize_user को रोकने के लिए कर रहे हैं! active_admin आप उनके जवाब के दोनों लागू करने की आवश्यकता को प्रभावित करने से फिल्टर ...

config/initializers/active_admin.rb

config.skip_before_filter :authorize_user! 

एप्लिकेशन/व्यवस्थापक/dashboard.rb

controller do 
    skip_before_filter :authorize_user! 
end 
+0

के अलावा यह आवश्यक है कि आप दोनों को क्यों लागू करना चाहिए? –

1

मैं नहीं कर सके ' Rails4 (ActiveAdmin मास्टर शाखा का उपयोग करके) पर काम करने के लिए @fringd और @coreyward के समाधान करें।

तो, मैं फिल्टर विधियों (मैं दो फिल्टर है: authorize_user! और check_user_status) स्थानांतरित किया है एक नया चिंता करने के लिए, और नियंत्रकों में इस बनाया मॉड्यूल जो उन फ़िल्टर था (ApplicationController को छोड़कर, जिसके चाहिए शामिल साफ रहो)।

फिर सर्वर को पुनरारंभ किया, और समस्या हल हो गई।

+0

क्या आप कृपया वर्णित उन चिंताओं को कोड जोड़ सकते हैं – Besi

संबंधित मुद्दे