2013-03-30 2 views
0

Понял, что если я поместил HTML-код в текстовую область rails, он выведет html.Предотвращение экранирования HTML в текстовой области

Например:

<b> Hello </b> 

выходы как:

Здравствуйте

Я думал, рельсы 3 текстовые входы автоматически избежать HTML, но всякий раз, когда я выход @ variable.textarea, он по-прежнему показывает жирный текст. Является ли он выборочным в отношении того, какой HTML для ввода? И как я могу убедиться, что весь HTML всегда убегает, когда я выводил содержимое своего текстового поля?

Спасибо!

+1

Я запутался ваш вопрос, но, возможно, это только мне. Вы выполняете или не хотите, чтобы данные были экранированы, когда пользователь отправляет информацию в текстовое поле. – jason328

+0

Какую версию рельсов вы используете? Приложение rails 3 должно автоматически выходить из html. – weltschmerz

ответ

1

Если <b>hello</b> выходит как привет, это означает, что HTML спасаясь является уже предотвращены.

Поскольку вы не хотите, чтобы пользователи могли использовать HTML во входных данных, вы хотите, чтобы HTML был экранирован, так что <b>hello</b> выходит как <b>hello</b>.

В 3 приложения Rails, HTML автоматически получает убежали, - но вы можете явно избежать его с помощью h method:

<%= h my_string %> 
+0

Ваше решение сработало и благодарит вас за разъяснение моего слабого использования языка. Вопрос: если для HTML-экранирования по умолчанию установлено значение true, откуда появилась текстовая область, введите привет как ** hello ** в качестве вывода? Именно это начало мое замешательство в первую очередь. – Laurent

+0

Какую версию рельсов вы используете? – weltschmerz

+0

Rails версия 3.2.11 – Laurent

Смежные вопросы