С направляющими, Если у меня есть переменная с содержимым HTML, как я произвожу его, незакодированный, по моему мнению, файл?
Этот код, например:
<% my_variable = "<b>Some Bolded Text</b>" %>
<%= my_variable %>
Выводы:
<b>Some Bolded Text</b>
Вы используете Rails 3 Beta? Rails 2 по умолчанию не выводит HTML-код из вашего вывода, обычно вам нужно использовать помощник h
, см. Сообщение Нейта. Если вы используете Rails 3, вам нужно либо использовать помощник raw
, либо установить строку как безопасную для HTML. Примеры
<% my_variable = "<b>Some Bolded Text</b>" %>
<%= raw my_variable %>
или
<% my_variable = "<b>Some Bolded Text</b>".html_safe %>
<%= my_variable %>
Проверьте свою версию Rails и свяжитесь с нами.
ActionView :: Helpers :: TextHelper предоставляет метод strip_tags, который вместо простого экранирования тегов полностью удаляет их.
источник [ссылка]:
def strip_tags(html)
return html if html.blank?
if html.index("<")
text = ""
tokenizer = HTML::Tokenizer.new(html)
while token = tokenizer.next
node = HTML::Node.parse(nil, 0, 0, token, false)
# result is only the content of any Text nodes
text << node.to_s if node.class == HTML::Text
end
# strip any comments, and if they have a newline at the end (ie. line with
# only a comment) strip that too
text.gsub(/<!--(.*?)-->[\n]?/m, "")
else
html # already plain text
end
end
<%= strip_tags(my_variable) %>