[英]Rendering a partial and escaping the html/javascript for a bookmarklet
[英]rails 3 - escaping partial's generated html in javascript response
我正在尝试做一个简单的事情,其中:
_flash.js.erb:
$("#alerts").append("<%=j render :template => "shared/_flash.html.erb" %>");
请注意<%= j ...,它会转义javascript。
_flash.html.erb:
<% flash.each do |key, value| %>
<div class="alert-message top <%= "#{key}" %> fade in" data-alert="alert">
<a class="close" href="#">x</a>
<p><%=j value %></p>
</div>
<% end %>
但是,在调用_flash.js.erb时,将附加以下内容:
$("#alerts").append(" \u003Cdiv class=alert-message top warning fade in data-alert=alert\u003E
\u003Ca class=close href=#\u003Ex\u003C/a\u003E
\u003Cp\u003ELooks like you have already linked with Facebook.\u003C/p\u003E
\u003C/div\u003E
");
$("#alerts").append(" <div class="alert-message top warning fade in" data-alert="alert">
<a class="close" href="#">x</a>
<p>Looks like you have already linked with Facebook.</p>
</div>
");
改用escape_javascript
; 您正在对JSON进行转义 。
您可以使用与j
是json_escape
的别名相同的方式来别名; 它只是一个助手。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.