ActiveAdmin sayfalarında uygulamanın belirli sayfalarına birkaç bağlantı eklemem gerekiyor. Bunu kenar çubuklarını kullanarak yapabilirim, ancak kaynakların her biri için kodu tekrarlamak zorunda kalacağım. Başlığa özel bağlantılar eklemenin bir yolu var mı? Veya tüm kaynaklar için görünecek bir kenar çubuğu tanımlayın?ActiveAdmin uygulamasına bir bağlantı nasıl geri alınır?
cevap
.
Ben örneğin, uygulamadan bir rotanın adını temsil eden bir sembol alır eminim:
config.site_title_link = :root
uygulamanızın root_path için site başlığını bağlayacak.
orada düşünmek bunu yapmak için hiçbir yap-yoldur, ama sen TabsRenderer render-mantık (2.2)/TabbedNavigation (3.0) geçersiz kılabilirsiniz:
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
Teşekkür @phoet! yerine HeaderRenderer geçersiz kılarak bunu Uygulanan: Ben de initializers/active_admin.rb içinde config.site_title_link ayarı gözden kaçırmak istemem
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
Bu özellikle herhangi bir yere konulmalı mı? ex: 'app/admin/views/header_renderer.rb'? – mbillard
@mbillard: Dosyalarınızın herhangi birinde, tüm sayfalarınızı tanımladığınız dizine koyabilirsiniz. Bu kod, iç ActiveAdmin sınıflarındaki yöntemlerin üzerine yazacaktır. –
Bu doğru ya da bu koymak için daha iyi bir yer config/initializers dizini altında ayrı bir dosyada (belki active_admin_initializer.rb olarak adlandırılır) olacaktır. "Config/initializers" dizini altındaki tüm dosyalar, başlatma sırasında Rails tarafından yüklenecektir. –
Teşekkürler! Yapılandırılabilir bir başlık bağlantısını desteklemeyen eski bir ActiveAdmin sürümü kullanıyordum. En son sürüme yükseltildi ve şimdi yapılandırıldı. –
Ve evet, aynı zamanda sembolleri de destekliyor –
Sizin için çalıştığını duyduğuma sevindim - açıkçası, başlığınızda birden fazla bağlantıya ihtiyacınız varsa, bunu başaramaz. Ama çok iyi bir başlangıç gibi görünüyor! –