【问题标题】:Active Admin not parsing html correctly活动管理员未正确解析 html
【发布时间】:2015-03-31 03:39:39
【问题描述】:

我正在使用 activeadmin 和 active_admin_editor 创建一个带有 Rails 的博客。博客表很简单:

title:string
content:text

当我添加博客文章时,它会显示 html 标签,我需要实际解析这些标签,以便博客文章实际上看起来像一个真正的 html 页面。

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

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

为了让html标签正确呈现,我做错了什么或错过了什么?

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

【问题讨论】:

  • 使用html_safe 并希望它确实如此?

标签: html ruby-on-rails ruby activeadmin blogs


【解决方案1】:

您可以将 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' 将“按原样”显示内容,而不转义 HTML(Rails 默认会这样做)。

【讨论】:

  • 这适用于活动管理方面,但不会改变用户将看到的视图......仍然显示为原始 html。 用屏幕截图更新了原始帖子
  • 已更新以包含示例
【解决方案2】:

我在寻找解决方案时发现的正确答案现在已经过时了。下面的代码应该能让你到达那里:

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

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 1970-01-01
    • 2011-11-27
    • 2012-03-23
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    相关资源
    最近更新 更多