Строка "Test '<3'" отображается как "Test '<3>" в моем приложении Rails - PullRequest
3 голосов
/ 18 июня 2009

У меня странная проблема, когда пользователь может ввести следующий текст

Тест '<3' </p>

и выводится как

Тест '<3>

В выводе я использую white_list, а значение, хранящееся в базе данных:

'тестирование' '<3' '' </p>

Что может заставить вывод думать, что это какой-то тег, и пытаться его закрыть (как мне кажется).

Спасибо!

1 Ответ

2 голосов
/ 18 июня 2009

Специальные символы в Ruby, такие как &, <и @, иногда могут быть неправильно истолкованы. Попробуйте использовать метод "h" на страницах .rhtml. </p>

<strong><%= h("This is a quick Test'<3'.") %></strong>

Будет выводить:

<strong>This is a quick Test'&lt;3'.</strong>

Таким образом, ваш браузер будет интерпретировать его как:

Это быстрый тест «<3». </strong>

(я все еще относительно новичок в Ruby, поэтому я готов к исправлению!)

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