在 Rails 中使用 active_admin gem 时,我想覆盖 html 代码;因为这些 gem 视图中的导航栏和许多元素与我的视图(其他页面)不同。我希望有办法在不手动更改 css 的情况下更改 html 代码!谢谢
问问题
1003 次
1 回答
3
这不是很容易,activeadmin 使用 DSL 构建 html(称为“Arbre”)您必须对每个页面类进行修补,而且,它也可能会阻止 css 的自定义。
例如要将侧边栏向左移动,请使用下一个补丁创建初始化程序。
class ActiveAdmin::Views::Pages::Base < Arbre::HTML::Document
def build_page_content
build_flash_messages
div :id => "active_admin_content", :class => (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
build_sidebar unless skip_sidebar?
build_main_content_wrapper
end
end
end
默认方法是
def build_page_content
build_flash_messages
div :id => "active_admin_content", :class => (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
build_main_content_wrapper
build_sidebar unless skip_sidebar?
end
end
可在此处找到用于渲染的完整类列表,因此您需要修补其中的一些。 https://github.com/gregbell/active_admin/tree/master/lib/active_admin/views
准备好完成一项大工作。
UPD。用于更改 activeadmin 侧边栏位置的 Gem
于 2012-10-24T09:25:48.743 回答