Rails - escape_javascript并不是所有的\ n \ n \ n \ n \ n
问题描述:
我正在使用escape_javascript通过ajax向浏览器返回一个部分。Rails - escape_javascript并不是所有的 n n n n n
喜欢的东西:
$("#inject").html("<%=escape_javascript(render :partial =>"feed/index")%>");
问题是escape_javascript结束outputing各种浪费的空间像
\n\n\n\n\n \n
反正在Rails中更有效地escape_javascript?不需要\ n或长时间的空隙?
谢谢
答
有没有标准的Rails方式来做到这一点。你可以只将它传递给escape_javascript
像在此之前自己将其删除:
$("#inject").html("<%= escape_javascript((render :partial => 'feed/index').squeeze(" ").gsub(/[\n\t]/,'')) %>");
我敢肯定有一个甜蜜的正则表达式会做的更好,但是这会得到相当接近,不会伤害你的HTML。 gsub将不会替换换行符和制表符。挤压方法将用一个空间替换多次出现的空间。你不想删除所有空格,因为它们可能是故意发生在你的HTML中的。
答
我要重振这个主题,因为我相信这里有一个误解。与jQuery的append
,prepend
,html
或类似的函数中使用时
的escape_javascript
方法,该方法也可以被缩短到j
,不应该显示任何转义换行符(\ n)的。
最有可能的情况是,您呈现的部分“feed/index”中还有另一部分内容正在被转义。这意味着你是javascript转义你的换行符两次,这导致他们得到不正确的解释。
是escape_javascript方法创建浪费的空间,还是它是由你的部分? – 2010-12-21 20:25:11
这是我的部分 – AnApprentice 2010-12-21 21:03:43