[英]Why does my code only works in html but does not work when I put it into a Javascript page?
[英]Why will my string only work when I put it in manually?
這是存儲在數據庫中的確切字符串:
@blog_post.content = "<p><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><br></b></div></p>"
如你看到的。 它由一些圖像和一些粗體文本組成。
好的,所以我將html保存在數據庫中。 我試圖將html附加到這樣的內容可編輯div(我的RTF編輯器)上。
$(document).ready(function(){
$('#rte').append("<%= @blog_post.content %>");
});
它顯示在我的內容可編輯div中,但顯示為實際文本。 我希望將其呈現為html,以便實際顯示圖像。 似乎要附加的html是這樣的:
<p><p><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"><br></b></div></p></p>
因此,我嘗試手動將字符串放入append方法,然后得到了我想要的:
$(document).ready(function(){
$('#rte').append("<p><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src=\"http://localhost:3000/assets/sa_clubbing_logo.png\" alt=\"Sa_clubbing_logo\"><br></b></div></p>");
});
此處附加的html是這樣的:
<p><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"></p><div><b>An image</b></div><div><b><br></b></div><div><b>Another image</b></div><div><b><img src="http://localhost:3000/assets/sa_clubbing_logo.png" alt="Sa_clubbing_logo"><br></b></div><p></p>
圖像以我想象的方式顯示在編輯器中。
為什么當我手動插入字符串而不是使用<%= @blog_posts.content %>
?
我一定在這里缺少某種格式問題。
更換:
<%= @blog_post.content %>
帶有:
<%=raw @blog_post.content %>
要么:
<%== @blog_post.content %>
甚至:
<%= @blog_post.content.html_safe %>
說明:
Rails默認情況下會保護您,因此您必須告訴何時考慮html安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.