2013-07-03 150 views
0

我使用的軌道3.在執行CMS,身體本來應該顯示以下內容:內容管理系統3.0

<h1>Welcome to our home page</h1>. 

,但顯示其標籤的文本。 在我的views/viewer/show.html中,我放置了以下代碼:<%= @page.body %>

我能做些什麼來解決這個問題?

回答

1

Rails是否可以保護您免受XSS attacks的侵害。爲了防止標籤從字面上顯示,你可以使用html_safe

<%= @page.body.html_safe %> 

僅使用html_safe如果你知道後果!如果你不這樣做,你可能會將你的應用程序開放給XSS攻擊。

+0

謝謝。有用! – Mbalame

+1

@ user2545685,請記住Mischas關於XSS攻擊的言論。這必須認真對待 –

+0

是的,我明白。我只是測試命令。謝謝 :) – Mbalame

-1

這是混淆你想要實現的。 如果你想顯示在該頁面的線路,然後:

在您的應用程序/控制器/ viewer_controller做:

@message = "Welcome to our home page" 

在您查看應用程序/視圖/觀衆/ show.html做:

</html> 
    <body> 
    <%= @message%> 
    </body> 
</html> 
+0

問題似乎是HTML不會呈現爲HTML。相反,標籤在字面上顯示在瀏覽器中。 – Mischa

+0

啊好的。我知道了。 stackoverflow解析了問題中的h1標籤。 – Bornfree