ruby-on-rails - 如何将语法突出显示应用于 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
解决方案
您应该能够使用Arbe语法将其包装在 a pre
orcode
标记中:
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
推荐阅读
- javascript - 在点击事件中移除动态 ID
- swift - Swift:在表格内以编程方式生成的视图内单击
- python - 如何在 Django 中实现 ModelChoiceField
- sql - 将 json_arrayagg 和 json_object 与 json_table 组合总是返回第一行
- ruby - Ruby/Jekyll 插件 - 如何在插件中渲染液体变量
- java - 在 Spring Data Rest 中保存实体及其所有关系和关联(级联 ALL)
- php - 使用按钮更新数据库表
- rcpp - 是否可以在另一个包 C++ 函数中使用导出的 rcpp 模块作为参数
- php - Mysql不获取具有相同字段值的多行
- database - 在小写 oracle 数据库名称周围设置双引号