首页 > 解决方案 > 尽管在 Rails 6 应用程序中将它们列入白名单,但 ActionText 仍去除 iframe 标记

问题描述

我在 Rails 6 应用程序中使用 ActionText。我向 Trix 添加了自定义附件,以便用户可以嵌入 Vimeo 和 YouTube 视频。

在 Trix 中加载时,视频会按预期显示。但是,当使用类似的东西在页面上显示它们时

<%= @section.content %>

content我的在哪里rich_text_field,iframe 被剥离了。

我添加iframeallowed_tags使用初始化程序

#config/initializers/html_sanitizer.rb

Rails::Html::WhiteListSanitizer.allowed_tags << 'iframe'

我还尝试将其添加到application.rb来自 GoRails 的 Chris Oliver 在他的 Rails conf 演讲中所做的

config.to_prepare do
  ActionText::ContentHelper.allowed_tags << 'iframe'
end

你知道为什么这没有按预期工作吗?

标签: ruby-on-railsrubytrixactiontext

解决方案


我在其他标签的初始化程序中使用它,它适用于 Rails 6:

Rails::Html::WhiteListSanitizer.allowed_tags.add 'iframe'


推荐阅读