【问题标题】:How can I apply syntax highlighting to an ActiveAdmin row?如何将语法突出显示应用于 ActiveAdmin 行?
【发布时间】:2020-04-01 04:04:55
【问题描述】:

我将 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-rails activeadmin syntax-highlighting arbre


    【解决方案1】:

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

    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,则用pre 包裹code 块。

    【讨论】:

    • 感谢您的回答。它让我朝着正确的方向开始。为了进一步清楚,我将对其进行编辑。我希望 Arbre 和 ActiveAdmin 的文档有更多示例。我最终进行了源代码潜水并推断了如何包装此规范中的codepre 标签:github.com/activeadmin/activeadmin/blob/…
    • 很好,很高兴我能帮上忙。
    猜你喜欢
    • 2017-02-06
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多