活动管理员未正确解析 html

Active Admin not parsing html correctly

我正在用 rails 使用 activeadmin 和 active_admin_editor 创建一个博客。博客 table 很简单:

title:string
content:text

当我添加博客 post 时,它显示 html 标签,我需要实际解析这些标签,这样博客 post 看起来就像一个真实的 html 页。

我也已经尝试过迁移以将内容列更改为 'text' 而不是字符串...这没有帮助。

这就是我的 post 现在的样子:

为了使 html 标签正确呈现,我在此处做错或遗漏了什么?

** 更新 ** 在建议让 activeadmin 视图工作之后,我仍然在用户视图中留下原始 html(只能查看博客的非管理员用户)

您可以将 ActiveAdmin 页面自定义为 admin/post.rb,例如:

ActiveAdmin.register Post do
  # ....
  index do
    # ...
    column (:content) { |post| raw(post.content) }
    # ...
  end
  show do
    # ...
    row (:content) { |post| raw(post.content) }
    # ...
  end
end

对于您自己的观点(例如:posts/show.html.erb),只需使用:

raw(@post.content)

而不是

@post.content

在你自己看来。 'raw' 将显示内容 "as is",而不会转义 HTML(默认情况下 Rails 正在执行)。

这里的正确答案是我在寻找解决方案时发现的,现在已经过时了。以下代码应该可以让您到达那里:

ActiveAdmin.register Post do
  # ....
  index do
    # ...
    column :content do |post| 
      raw(post.content)
    end
    # ...
  end
  show do
    # ...
    row :content do |post| 
      raw(post.content)
    end
    # ...
  end
end