2011-10-19 15 views
35

मैं उस ऐप पर व्यवस्थापक इंटरफ़ेस के लिए Activeadmin का उपयोग कर रहा हूं जिस पर मैं काम कर रहा हूं (इसे प्यार करता हूं) और यदि मैं "नया संसाधन" लिंक अक्षम करने का कोई तरीका है तो मैं उत्सुक हूं संसाधन शो पेज के ऊपरी-दाएं कोने में?"नया संसाधन" विधि अक्षम करने वाला Activeadmin

मैं जिस विशेष संसाधन का उपयोग कर रहा हूं वह किसी अन्य संसाधन के अंदर घोंसला है और मेरे पास आंशिक है जो इसे उस मूल संसाधन पर शो पेज से बनाया जा सकता है।

मैंने मेनू में संसाधन को अक्षम कर दिया है, लेकिन मैं मेनू में संसाधन छोड़ दूंगा ताकि मैं अपने संसाधनों को देखकर इसे ढूंढने के बिना उन संसाधनों को देख/संपादित/हटा सकूं।

उत्तर

28

config.clear_action_items आज़माएं!

ActiveAdmin.register Book do 
    actions :index 

    #or like that 
    #actions :all, :except => [:destroy] 

    index do 
    column :title 
    column :author 
    end 
end 
+0

ठीक उसी तरह किया है। आपका बहुत बहुत धन्यवाद। यदि मैं एक्शन मेनू में आइटम रखना चाहता हूं, तो क्या मैं इसे साफ़ करने के बाद बस उन्हें जोड़ूं? – YuKagi

+0

इंडेक्स मेनू में "डिफ़ॉल्ट_ क्रियाएं" कार्यों को देखने/संपादित करने/हटाने के लिए काम करता है – makvool

+0

मुझे यह मिला: अपरिभाषित विधि 'clear_action_items!' # (NoMethodError) – makaroni4

63

मेरे लिए पिछला समाधान didn `t काम करते हैं, इसलिए यहाँ सामान्य समाधान, कि हमेशा काम करता है

ActiveAdmin.register Purchase do 
    config.clear_action_items! 
    actions :index 
end 
+35

'क्रियाएं: अनुक्रमणिका 'मेरे लिए काम नहीं करती है, लेकिन' क्रियाएं: सभी,: को छोड़कर => [: नया] 'नौकरी की। – mbillard

0
Worked for me too ! :-) 

ActiveAdmin.register AssetSumView do 
      menu :label => "Asset Summary View", :parent => "Things" 
# no button for NEW (since this is a db view) 
#--------------------------------------------------------------------------------------------- 
config.clear_action_items! 

    enter code here 

    action_item do 
     link_to "Assets" , "/admin/assets" 
    end 

    action_item do 
     link_to "AssetCatgCodes", "/admin/asset_catg_codes" 
    end 

#--------------------------------------------------------------------------------------------- 
20

इस 'नए संसाधन" हटा शीर्ष-दाएं से बटन:

config.clear_action_items! 

इसने "नया संसाधन" बटन और साथ ही बॉक्स को हटा दिया "अभी तक कोई संसाधन नहीं है - एक बनाएं"।

actions :all, :except => [:new] 

धन्यवाद, Irio

+1

यहां छोटे नोट। यदि आप एक कस्टम नियंत्रक को परिभाषित करते हैं और नियंत्रक ब्लॉक के अंदर 'नया' परिभाषित करते हैं, तो यह सेटिंग ओवरराइड करेगा। बस एक सीखा। यदि आप निर्दिष्ट करते हैं कि एक निश्चित कार्रवाई मौजूद नहीं है, तो सुनिश्चित करें कि आप इसे 'नियंत्रक' ब्लॉक में भी परिभाषित नहीं करते हैं! – danielricecodes

6

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन मैं तो बस (एक ही समस्या थी) यह करने के लिए आया था, और महसूस किया कि config.clear_action_items! और actions :all, :except => [:new] मौलिक रूप से अलग कर रहे हैं।

config.clear_action_items!, सूचकांक पृष्ठ से New बटन निकाल देंगे, जबकि actions :all, :except => [:new] दोनों बटन, और मार्ग निकाल देंगे, जिसका अर्थ है यदि आप किसी अन्य जगह (जो, मेरे मामले में, जरूरत है) से यह फोन नहीं कर सकते हैं।

2
config.clear_action_items! 

सभी कार्यों को हटा देगा। आप केवल नए कार्रवाई लिंक आप भी उपयोग कर सकते हैं निकालना चाहते हैं:

config.remove_action_item(:new) 
5

मैं ऐसा किया:

controller do 
    def action_methods 
    if some_condition 
     super 
    else 
     super - ['new', 'create', 'destroy'] 
    end 
    end 
end 

संभव कार्रवाई के कुछ निष्क्रिय करने के लिए। action_methods 7 मानक सीआरयूडी कार्यों की एक सरणी देता है, ताकि आप उन लोगों को घटा सकें जिन्हें आप

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