2013-07-19 18 views
11

Mam flash[:success] wiadomość, która wygląda tak:Dodawanie HTML Ruby on Rails wiadomość błysk

flash[:success] = "This text is now bold.". Jednakże, kiedy zaczynam pisać tekst pogrubiony, to po prostu opakowuje on znaki HTML wokół wiadomości, a nie pogrubia.

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

Jak mogę dołączyć do wiadomości flash w formacie HTML?

+0

gdzie i jak je wyświetlić? – apneadiving

Odpowiedz

15

Zastosowanie <%= flash[:success].html_safe %>. Zasugerował to już Kyle. Chcę dodać do tego kilka punktów. Ilekroć twój flash[:success] jest pusty, pokaże błąd z powodu html_safe. Więc lepiej jest użyć warunku. Więc spróbuj z

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

lub jeszcze lepiej: '<% = nieprzetworzony flash [: sukces]%>' (jeśli wiesz, że zawartość jest bezpieczna) – mb21

2

zapisać wiadomość jako

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

umieścić w pliku html jako

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

Można dodać dowolną HTML do wiadomości błyskawicznej, ale trzeba by go użytkownik html_safe renderowanie nieusuwalny.

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

W widoku:

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