ruby-on-rails - 尽管在 Rails 6 应用程序中将它们列入白名单,但 ActionText 仍去除 iframe 标记
问题描述
我在 Rails 6 应用程序中使用 ActionText。我向 Trix 添加了自定义附件,以便用户可以嵌入 Vimeo 和 YouTube 视频。
在 Trix 中加载时,视频会按预期显示。但是,当使用类似的东西在页面上显示它们时
<%= @section.content %>
content
我的在哪里rich_text_field
,iframe 被剥离了。
我添加iframe
到allowed_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
你知道为什么这没有按预期工作吗?
解决方案
我在其他标签的初始化程序中使用它,它适用于 Rails 6:
Rails::Html::WhiteListSanitizer.allowed_tags.add 'iframe'
推荐阅读
- mysql - 参考同一表中的其他行选择行
- checkbox - 重新加载表单时取消选中 Domino Classic Web 复选框
- javascript - 加载多个 CSV 并将它们分别存储在一个单独的数组中
- java - jpa - 更新和分离的持久实体会发生什么
- python-3.x - 使用 subprocess.Popen 启动 pyuic5
- reactjs - 如何在 auth0-js 中刷新后保持用户登录?
- ios - 输入文本字段时在文本字段字符之间添加连字符
- javascript - ChartJS CustomTooltips 中的图像
- python - 如何在 CPython 源代码中找到 [::-1] (python 中的反转列表)的实现
- c# - 构建错误 -- Selenium -- 无法在声明中指定构造函数参数