删除 rails 中的 html 个标签

Remove html tags in rails

在我的 rails 应用程序中,我有一个名为 discussions 的数据库,它有一个名为 'question' 的列。在我看来,我使用 trix-editor 输入问题。所以它保存了 html 个元素。在我的应用程序中,我的 notification_worker.rb 中有以下代码行,用于发送电子邮件通知。这是我的电子邮件的主题行。

subject = "New #{@c["title"]} reply to discussion: #{@d["question"]}"

此处@d["question"] 打印那些 html 元素。下面是我作为输出的主题行。

这里的主题包含 div tags.I 想删除它。我该怎么做?

我假设您是在 *.rb 文件中执行此操作。您可以执行以下操作:

st = "new stark industries <div>new discuss</div>"
ActionView::Base.full_sanitizer.sanitize(st)
# output: "new stark industries new discuss"

链接:

https://apidock.com/rails/ActionView/Helpers/SanitizeHelper/ClassMethods/full_sanitizer

https://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html#method-i-strip_tags

你应该使用raw

#{raw(@d["question"])}