Мне нужно добавить несколько ссылок на определенные страницы приложения на страницах ActiveAdmin. Я могу сделать это с помощью боковых панелей, но мне придется повторять код для каждого из моих ресурсов. Можно ли как-то добавить пользовательские ссылки в шапку? Или определить боковую панель, которая будет отображаться для всех ресурсов?
Как добавить обратную ссылку на приложение в ActiveAdmin?
Ответы (3)
Я также не хотел бы упускать из виду настройку config.site_title_link в файле initializers/active_admin.rb.
Я почти уверен, что он принимает символ, представляющий имя маршрута из вашего приложения, например:
config.site_title_link = :root
свяжет название сайта с root_path вашего приложения.
person
Michael Hellein
schedule
23.09.2011
Спасибо! Использовал старую версию ActiveAdmin, которая не поддерживает настраиваемую ссылку заголовка. Обновил до последней версии и настроил.
- person karthik c; 27.09.2011
И да, он также поддерживает символы
- person karthik c; 27.09.2011
Рад слышать, что это работает для вас - очевидно, если вам нужно более одной ссылки в заголовке, это не поможет. Но, похоже, очень хорошее начало!
- person Michael Hellein; 05.10.2011
Спасибо @phoet! Вместо этого реализовал это, переопределив HeaderRenderer:
module ActiveAdmin
module Views
class HeaderRenderer
def to_html
title + global_navigation + application_link + utility_navigation
end
def application_link
link_to('Back to Application', root_url)
end
end
end
end
person
karthik c
schedule
28.08.2011
Это нужно где-то конкретно указывать? пример:
app/admin/views/header_renderer.rb
?
- person mbillard; 27.04.2012
@mbillard: вы можете поместить его в любой из ваших файлов в том же каталоге, где вы определяете все свои страницы. Этот код перезапишет методы во внутренних классах ActiveAdmin.
- person Daniel Magliola; 11.05.2012
Правильно, или лучше поместить это в отдельный файл (возможно, с именем active_admin_initializer.rb) в каталоге config/initializers. Все файлы в каталоге config/initializers будут загружены Rails во время запуска.
- person karthik c; 14.05.2012
Похоже, это не работает в ActiveAdmin ›= 0.5.0, на этот вопрос есть подходящий ответ, но он все еще не идеален. stackoverflow.com/ вопросы/9620165/
- person ARun32; 27.09.2012
я думаю, что нет встроенного способа сделать это, но вы можете переопределить логику рендеринга в TabsRenderer (2.2) / TabbedNavigation (3.0):
def render_menu(menu)
content_tag :ul, :id => @options[:id] do
menu.items.collect do |item|
render_item(item)
end.join.<<('your_custom_stuff').html_safe
end
end
person
phoet
schedule
26.08.2011