首页 > 解决方案 > 如何将语法突出显示应用于 ActiveAdmin 行?

问题描述

我将 Ruby 代码存储在数据库中,因此如果管理员需要调整代码逻辑,他们可以使用 ActiveAdmin 进行编辑。我的应用程序是这样编写的,可以从数据库中加载和调用此代码。

我现在的问题是 ActiveAdmin UI 显示页面中呈现的文本不是非常可读的代码,因为它不是等宽或突出显示的语法。如何将语法突出显示应用于此特定行?

你会用胭脂宝石吗?如果是这样,您可以包装您的代码还是需要对 ActiveAdmin 进行猴子补丁?还有哪些其他解决方案?

ActiveAdmin.register Model do
  show do |model|
    attributes_table do
      row :name
      row :logic # render this logic text as Ruby code
      row :created_at
      row :updated_at
    end
  end
end

在此处输入图像描述

标签: ruby-on-railsactiveadminsyntax-highlightingarbre

解决方案


您应该能够使用Arbe语法将其包装在 a preorcode标记中:

ActiveAdmin.register Model do
  show do |model|
    attributes_table do
      row :name
      row :logic, do |logic|
        pre( code(model.logic, class: 'lang-ruby') )
      end
      row :created_at
      row :updated_at
    end
  end
end

您也可以使用code标签代替pre,它们只是略有不同。无论哪种方式,都应该使用 CSS 进行更严格的自定义。

原始海报的注意事项:如果使用highlight.js ,请用包装code块。pre


推荐阅读