У меня недавно возникла проблема, чтобы избежать значения, возвращаемого доходностью в шаблоне.Как избежать значения, возвращаемого доходностью
В моем макете, я дать мета описание, так что я могу определить его из моего шаблона
<meta name="description" content="<%= yield :html_description %>" />
А вот мой шаблон, который несчастливо, не ускользает значение, как и ожидалось:
<% content_for :html_description, 'hello "you" guy' %>
<meta name="description" content="hello "you" guy" />
Я пытался избежать его с ч() беглеца, но он не работает:
<meta name="description" content="<%= h(yield :html_description) %>" />
<meta name="description" content="hello "you" guy" />
Я также попытался с escape_once(), но это не слишком много:
<meta name="description" content="<%= escape_once(yield :html_description) %>" />
<meta name="description" content="hello &quot;you&quot; guy" />
Однако, сцеплению возвращаемое значение со строкой, она исправляет проблему:
<meta name="description" content="<%= '' + (yield :html_description) %>" />
<meta name="description" content="hello "you" guy" />
ли кто-нибудь понять такое поведение ?
У вас есть лучшее решение, чем эта конкатенация, которая исправит это по совпадению?
Я использую Rails 2.3.8 - Спасибо!
Привет Пробовали ли вы escape_javascript помощник? – Bohdan
Нет, но в этом контексте нет javascript. – Guillaume