में हेडर मेनू पर कस्टम आइटम जोड़ें मैं ActiveAdmin में शीर्षलेख पर link_to ("yout profile संपादित करें", edit_user (current_user)) जैसे लिंक जोड़ना चाहता हूं। क्या यह संभव है?ActiveAdmin
उत्तर
पोस्ट कि उल्लेख किया @phoet के अनुसार, (https://stackoverflow.com/a/7218598/445908) इस कोड का प्रयास करें:
module ActiveAdmin
module Views
class HeaderRenderer
def to_html
title + global_navigation + profile_link + utility_navigation
end
def profile_link
link_to ("Edit yout profile", edit_user (current_user))
end
end
end
end
मुझे नहीं पता लगता है कि यह 0.5.0 के रूप में काम करता है - अगर कोई गलत है तो कृपया मुझे सही करें। –
सक्रिय व्यवस्थापक के हाल के संस्करणों के लिए, वहाँ दो समाधान, दुर्भाग्यपूर्ण के दोनों प्रकार हैं।
menu false
के साथ आपके किसी भी संसाधन को menu label: "Google", url: "http://www.google.com"
पर सेट किया जा सकता है। यह दुर्भाग्यपूर्ण है क्योंकि इसे चयनित के रूप में हाइलाइट किया गया है यदि आप उस संसाधन पर हैं जहां से आपने इसे सेट किया है।
दूसरा समाधान उपरोक्त के रूप में ActiveAdmin::Views::Header
को ओवर-राइट करना है, लेकिन अपडेट किया गया है।
module ActiveAdmin
module Views
class Header < Component
def build_global_navigation
item = ActiveAdmin::MenuItem.new(label: "google", url: "http://www.google.com")
@menu.add item
insert_tag view_factory.global_navigation, @menu, :class => 'header-item'
end
end
end
end
यह बिल्कुल सही काम नहीं करता है, तो आप वैसे भी मेनू आइटम के लिए parent: "Developer"
... तरह बातें सेट नहीं कर सकता के रूप में है, तो आप एक विशेष के लिए प्रारंभकर्ता में आइटम जोड़ सकते हैं मैं एक कांटा कर सकते हैं नेमस्पेस ... क्या किसी ने इसके लिए कोई मुद्दा खुलवाया? मैंने एक नहीं देखा।
अद्यतन: मुझे लगता है कि यह इसे लागू करने का सबसे आसान तरीका है (सक्रिय व्यवस्थापक में योगदान किए बिना)।
ActiveAdmin.register_page "Queue" do
menu parent: "Developer", url: '/admin/resque'
end
इस https://github.com/gregbell/active_admin/issues/1694 – ARun32
'@menu.add item' प्रत्येक संसाधन के प्रत्येक लोड पर एक नया मेनू आइटम जोड़ने के लिए एक खुली समस्या है (जब आप शीर्ष पर संसाधन पर क्लिक करें)। '@menu.add आइटम अगर @ menu.items.select {| m | m.label == item.label} .blank? ' यह देखने के लिए जांच करेगा कि उस लेबल के साथ मेनू आइटम इसे जोड़ने से पहले मौजूद है या नहीं। – ARun32
यूप, मैंने उस मुद्दे को जोड़ा। :) – rayban
आप कस्टम पेज के लिए क्षमता है कि ActiveAdmin के बाद के संस्करण का उपयोग कर रहे हैं, तो आप निम्न कर सकते हैं:
ActiveAdmin.register_page "Store Admin" do
controller do
define_method(:index) do
redirect_to "/store/admin"
end
end
end
यह PageController की index
कार्रवाई जो आम तौर पर सिर्फ renders ओवरराइड करता है पेज है, लेकिन आप के बजाय यह जहाँ भी आप जाना चाहते हैं पर पुन: निर्देशित, जैसे edit_user_path
ActiveAdmin के हाल के संस्करणों आप अपने active_admin.rb
प्रारंभकर्ता में ऐसा करने की अनुमति हो सकती है:
config.namespace :admin do |admin|
admin.build_menu do |menu|
menu.add :label => 'Custom Menu' do |submenu|
submenu.add :label => 'Custom Link', :url => custom_path
end
end
end
http://stackoverflow.com/questions/7199753/how-to-add-a-link-back-to-the-application-in-activeadmin/7201824#7201824 के संभावित डुप्लिकेट – phoet