删除active_admin_editor gem上的按钮

时间:2013-04-04 23:35:51

标签: ruby-on-rails ruby-on-rails-3 wysiwyg activeadmin

我正在尝试自定义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按钮仍然显示出来。可能是什么问题?

1 个答案:

答案 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上的第一个答案之一, 所以我希望这是一个很好的。 干杯!