Добавление HTML в ruby on rails flash message

У меня есть сообщение об flash[:success] которое выглядит следующим образом:

flash[:success] = "This text is now bold." , Однако, когда я иду, чтобы сделать текст полужирным, он просто обертывает символы HTML вокруг сообщения, вместо того, чтобы на самом деле сделать полужирным.

<b>This text is now bold</b>

Как я могу включить HTML в флеш-сообщения?

Ответ 1

Используйте <%= flash[:success].html_safe %>. Это уже было предложено Кайлом. Я хочу добавить к нему несколько моментов. Всякий раз, когда ваша flash[:success] html_safe, в ней будет отображаться ошибка из-за html_safe. Поэтому лучше использовать для этого условие. Поэтому попробуйте

<%= flash[:success].html_safe unless flash[:success].blank? %>

Ответ 2

сохранить сообщение как

flash[:success] = "<b>This text is now bold.</b>"

поместите в html файл как

<div class="notice">
<%=h flash[:notice]%>
</div>

Ответ 3

Вы можете добавить произвольный HTML- html_safe в свое флеш-сообщение, но вам нужно будет html_safe пользователя, чтобы сделать его неэкономным.

flash[:error] = "<em>Crap!</em> We lost everything."

В представлении:

<%= flash[:error].html_safe %>