Rails 4 - 元标记 html 安全

Rails 4 - Meta tags html safe

我正在尝试找出使我的元标记 html 安全的最佳方法。他们目前正在逃避任何 html.

这是我当前的设置。

在我的 application.html.erb:

<meta name="description" content="<%= yield(:description) %>">

在我看来:

<% provide(:description, "Things being escaped from here") %>

如果我像这样在 provide 上简单地调用 html 安全...

<% provide(:description, "now it's html safe".html_safe) %>

它工作正常,但我想知道这样做是否有更好的做法。我发现在我使用 provide 方法的每个视图上必须调用 html 安全是错误的。

您可以基于 original provide 创建自定义助手。

# app/helpers/application_helper.rb
module ApplicationHelper
  def provide_safe(name, content)
    provide(name, content.html_safe)
  end
end

在您看来,只需将 provide 替换为 provide_safe

<% provide_safe(:description, "now it's html safe") %>