我正在尝试自定义active_admin_editor gem的功能区上的按钮。根据文档,我已经设置了initializers / active_admin_editor.rb来测试它:
ActiveAdmin::Editor.configure do |config|
config.parser_rules['tags']['h1'] = {
'remove' => 1
}
config.parser_rules['tags']['h2'] = {
'remove' => 1
}
config.parser_rules['tags']['h3'] = {
'remove' => 1
}
end
但无济于事。我做了
rm -rf tmp/cache
正如文档中所建议的那样,我多次重启服务器,但仍然没有效果,h1,h2,h3按钮仍然显示出来。可能是什么问题?
答案 0 :(得分:2)
您好!
解析器是读取输入的位,并定义是否已经附加了样式,例如,如果您从另一个html页面复制并粘贴一些内容..如果该样式适用于或不在块中,你是对的。
我的另一个想法是首先停用所有选择器,然后逐个重新激活它们。我认为这是一件非常好的事情,因为用户往往只是将格式化文本复制到其中。 这是我的解决方案:
ActiveAdmin::Editor.configure do |config|
config.parser_rules['tags'] = {
'remove' => 1
}
config.parser_rules['tags']['h3'] = {
'remove' => 0
}
config.parser_rules['tags']['p'] = {
'remove' => 0
}
end
但是这不会影响你可以通过一点点css hack中删除的按钮:
.toolbar a[title="bold"]{
display: none;
}
这两种资源可能会有所帮助:
https://github.com/xing/wysihtml5/blob/master/parser_rules/advanced.js
和
https://github.com/ejholmes/active_admin_editor/blob/master/app/assets/javascripts/active_admin/editor/templates/toolbar.jst.ejs
这是我在Stackoverflow上的第一个答案之一, 所以我希望这是一个很好的。 干杯!