Escape-символы <% = h ("")%> и как бороться с двойными кавычками в Ruby on Rails - PullRequest
1 голос
/ 25 июля 2010

Возможно, это простой вопрос, но я не смог найти ответ.

В Ruby on Rails я думал, что вспомогательная функция поможет экранировать специальные символы.

Пример: "Она та, которая привела меня" к ""

Код мудрый: <%= h("She's the one that took me "to" ") %>

Однако двойная кавычка не позволяет мне отображать код в браузере и выдает ошибку.

Я думал, что h () - это псевдоним html_escape (), и они конвертируют следующие 4 символы

 <   >    &    "

в

&lt;   &gt;  &amp;  &quot;

Есть ли что-то, чего мне не хватает, используя двойные кавычки?

Любой совет приветствуется. Спасибо, D

1 Ответ

5 голосов
/ 25 июля 2010

Проблема в том, что ваша двойная кавычка вокруг слова до закрывает двойную кавычку, открытую в начале строки. Попробуйте это:

<%= h("She's the one that took me \"to\" ") %>

Или, чтобы избежать обратной косой черты внутренних двойных кавычек, вы можете использовать синтаксис % для создания строки:

<%= h(%[She's the one that took me "to" ]) %>
...