Принудительное экранирование HTML в Rails 3

Я столкнулся с проблемой автоматического экранирования рельсов. В настоящее время он считает, что строка является html_safe (что так и есть), но для целей отображения мне нужно, чтобы она по-прежнему экранировала html. Вот шаги, которые предпринимает строка.

my_string = render(:partial => "set_string", :locals => {:item => @item})
<%= my_string %>

и частичное в основном

<h2>Page Header</h2>
<strong><%= item.name %></strong>
<%= item.body %>
etc

Насколько я понимаю, поскольку я показываю текст в представлении напрямую (h2 и т. д.), он предполагает, что он безопасен, а также правильно экранирует вывод элемента, что делает весь my_string безопасно. Итак, когда я пытаюсь отобразить его с помощью

<%= my_string %>

, он не ускользает от оставшегося html. Я попытался добавить h, чтобы вызвать экранирование, но это не сработало.

Итак, мой вопрос: есть ли способ заставить html экранировать безопасную строку, кроме вызова чего-то в строке, что сделает ее небезопасной?

Большое спасибо за помощь.

11
задан Jason Logsdon 5 June 2012 в 17:47
поделиться