ruby-on-rails – 自定义activeadmin的布局(组件)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 自定义activeadmin的布局(组件)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Activeadmin布局不仅仅是一个文件,它是一个组件集合.

如何使用activeadmin覆盖某些组件,如徽标,导航.

解决方法

activeadmin布局组件非常容易定制.您需要做什么:只需定义一个打开ActiveAdmin :: View的模块.

您可以在初始化程序或管理目录中具有custom_activeadmin_components.rb,您可以在其中定义所有activeadmin资源.我更喜欢将它放在activeadmin资源所在的目录中.然后覆盖您想要的任何模块:

这是一个示例:

  1. module ActiveAdmin
  2. module Views
  3. class Header < Component
  4. def build(namespace,menu)
  5. super(:id => "header")
  6.  
  7. @namespace = namespace
  8. @menu = menu
  9. @utility_menu = @namespace.fetch_menu(:utility_navigation)
  10.  
  11. build_site_title
  12. build_global_navigation
  13. build_utility_navigation
  14. #you can add any other component here in header section
  15. end
  16.  
  17. def build_site_title
  18. render "admin/parts/logo"
  19. end
  20.  
  21. def build_global_navigation
  22. render "admin/parts/main_nav"
  23. end
  24.  
  25. def build_utility_navigation
  26. render 'admin/parts/language_options'
  27. insert_tag view_factory.global_navigation,@utility_menu,:id => "utility_nav",:class => 'header-item tabs'
  28. render 'admin/parts/branch_in_header'
  29. end
  30. end
  31.  
  32. module Pages
  33. class Base
  34. def build_page_content
  35. build_flash_messages
  36.  
  37. div :id => :wizard_progress_bar do
  38. render 'admin/parts/wizard_progress_bar'
  39. end
  40.  
  41. div :id => "active_admin_content",:class => (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
  42. build_main_content_wrapper
  43. build_sidebar unless skip_sidebar?
  44. end
  45. end
  46. end
  47. end
  48. end
  49. end

猜你在找的Ruby相关文章