2013-07-19 28 views
11

我有一個flash[:success]消息,該消息是這樣的:添加HTML到Ruby on Rails的閃光消息

flash[:success] = "This text is now bold."。 但是,當我將文本設爲粗體時,它只是將HTML字符包裹在消息中,而不是實際上變成粗體。

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

我該如何着手將HTML包含到Flash消息中?

+0

您在哪裏以及如何顯示它們? – apneadiving

回答

15

使用<%= flash[:success].html_safe %>。它已經由凱爾提出。我想補充一點。只要您的flash[:success]爲空,它將顯示由於html_safe而導致的錯誤。所以最好使用一個條件。因此請嘗試使用

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

或更好:'<%= raw flash [:success]%>'(如果你知道內容是安全的) – mb21

2

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

放在HTML文件保存消息

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

你可以任意的HTML添加到您的閃信,但你需要用戶html_safe以使其轉義。

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

在視圖:

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