Rails 4 - метатеги html safe

Я пытаюсь найти лучший способ сделать мои мета-теги HTML безопасными. В настоящее время они избегают любого HTML.

Вот моя текущая настройка.

в моем application.html.erb:

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

и на мой взгляд:

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

если я просто назову HTML безопасным на provide вот так...

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

это работает нормально, но мне интересно, есть ли лучшая практика в этом. Я считаю неправильным называть HTML безопасным в каждом представлении, где я использую provide метод.

1 ответ

Решение

Вы можете создать пользовательский помощник, основанный на оригинальном обеспечении.

# 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") %>
Другие вопросы по тегам