2011-10-09 10 views
5

संभव डुप्लिकेट एक कस्टम नियंत्रक जोड़ने के लिए ActiveAdmin:
Add page to active adminकैसे मॉडल के बिना

मैं वर्तमान में ActiveAdmin द्वारा उत्पन्न व्यवस्थापक करने के लिए एक मॉडल के बिना एक नियंत्रक जोड़ने के लिए एक समाधान के लिए देख (और रेल 3.1)। बेशक मैं navbar में एक नया मेनू जोड़ना चाहता हूँ।

ActiveAdmin.register MyControllerWithoutModel do का उपयोग कर काम नहीं कर रहा है।

संपादित करें: यह प्रश्न Add page to active admin का डुप्लिकेट है लेकिन कोई जवाब नहीं मिला।

+0

एक समाधान एक डमी मॉडल बनाने के लिए है, लेकिन ऐसा करने के बाद, मैं इस त्रुटि है: "अपरिभाषित विधि' के लिए MyControllerWithoutModel quoted_table_name ': कक्षा " –

+0

करो ** ** फिर से एक प्रश्न पोस्ट नहीं सिर्फ इसलिए कि एक जवाब नहीं मिला था। यदि आपके पास प्रश्न के बारे में विवरण है, तो आप एक संपादन का सुझाव दे सकते हैं। इसके अतिरिक्त, यदि आप कुछ और प्रतिष्ठा प्राप्त करते हैं, तो आप इस सवाल पर एक बक्षीस प्रदान कर सकते हैं जो इसे और अधिक विचारों और संभवतः अधिक उत्तरों को प्राप्त करेगा। जानबूझकर एक प्रश्न को डुप्लिकेट करने से आपकी पोस्ट पर झंडे हो सकते हैं जिससे आगे की मॉडरेटर कार्रवाई हो सकती है। – casperOne

उत्तर

0

मैं एप्लिकेशन कॉन्फ़िगरेशन को संपादित करने के लिए इसकी तलाश कर रहा था, लेकिन यह सीम करता है कि मॉडल के बिना यह असंभव है। मैंने अभी डीबी में टेबल के साथ खाली मॉडल बनाया है और संसाधन को सामान्य रूप से पंजीकृत किया है।

संसाधन अनुकूलित करने के लिए:

अक्षम फिल्टर

config.clear_sidebar_sections! 

कस्टम मेनू पथ

ActiveAdmin.application.namespaces[:admin].resources['Configuration'].namespace.menu.items.each{|i| i.instance_eval('@cached_url[:admin_configurations_path] = "/admin"')} 
2

यह वही है ViewLogger मेरे लिए काम किया codeblocks में सिर्फ के लिए सही नाम स्थानापन्न, है । इस तरह आपको अपने डेटाबेस में एक डमी टेबल बनाना नहीं होगा।

इस सामग्री के साथ एक फ़ाइल /app/models/viewlogger.rb बनाएं, अधिक उन्नत टेबललेस मॉडल के लिए आप http://keithmcdonnell.net/activerecord_tableless_model_gem.html को जांचना चाहेंगे या अपनी अंतर्दृष्टि को Google पर एक साथ जोड़ सकते हैं। अब

match '/admin/viewlogger' => 'admin/viewlogger#index', :as => :admin_viewlogger 

आप:

class Viewlogger < ActiveRecord::Base 

    def self.columns 
    @columns ||= [] 
    end 

    # ... 

end 

/config/initializers/inflections.rb को

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.uncountable %w(viewlogger) 
end 

अपने viewlogger के लिए एक मार्ग की स्थापना की एक प्रविष्टि जोड़ने के लिए, config/routes.rb में निम्नानुसार सक्रियडमिन रजिस्टर ब्लॉक को बना सकते हैं (आपको सुनिश्चित करें कि आप सही जगह पर आंशिक दृश्य देखें)

ActiveAdmin.register Viewlogger do 
    config.comments = false 
    before_filter do @skip_sidebar = true end 
    # menu false 
    config.clear_action_items! # this will prevent the 'new button' showing up 


    controller do 
    def index 
     # some hopefully useful code 
     render 'admin/viewlogger/index', :layout => 'active_admin' 
    end 
    end 

अंत