text_area отправить проблему с помощью Rich Text Editor, который выводит HTML - PullRequest
1 голос
/ 22 августа 2011

Используя tiny_mce из https://github.com/kete/tiny_mce, чтобы иметь возможность изменить формат текста, проблема в том, что после отправки он отправляет html моим комментариям и не переводится, а просто выводит простой html, показанный ниже

<ul> <li><span style="text-decoration: underline;"><strong>hello&nbsp;</strong></span></li> <li><span style="text-decoration: underline;">test</span></li> <li><span style="text-decoration: underline;">est</span></li> <li><span style="text-decoration: underline;">est<br /></span></li> </ul>

Как получить рельсы для перевода html, чтобы он отображал смелость и т. Д. Я пытался поместить его в теги HTML <html><%= comment.body %></html>, что не работает!

Ответы [ 2 ]

6 голосов
/ 22 августа 2011

Используйте помощник raw:

<%=raw comment.body %>
0 голосов
/ 22 августа 2011

Вы должны санировать данные в вашей модели, используя фильтр before_validation.

Мне нравится gem 'sanitize', с ним вы можете self.body = Sanitize.clean( self.body, Sanitize::Config::RESTRICTED )

Тогда вы можете безопасно использовать <%= raw comment.body %> или <%= comment.body.html_safe %> для отображения HTML.

...