加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby on Rails使用jQuery的escape_javascript

发布时间:2020-12-17 03:12:26 所属栏目:百科 来源:网络整理
导读:我一直在看这个 Railscast,特别是这些代码行. // views/reviews/create.js.erb$("#new_review").before('div id="flash_notice"%= escape_javascript(flash.delete(:notice)) %/div');$("#reviews_count").html("%= pluralize(@review.product.reviews.count
我一直在看这个 Railscast,特别是这些代码行.

// views/reviews/create.js.erb
$("#new_review").before('<div id="flash_notice"><%= escape_javascript(flash.delete(:notice)) %></div>');
$("#reviews_count").html("<%= pluralize(@review.product.reviews.count,'Review') %>");
$("#reviews").append("<%= escape_javascript(render(:partial => @review)) %>");
$("#new_review")[0].reset();

有人可以解释为什么escape_javascript用于渲染部分,并显示闪光通知,但不是复数函数?

谢谢

解决方法

复数只有几个可能的输出(@ review.product.reviews.count,’Review’)

0 Reviews
1 Review
n Reviews

没有任何输出需要转义,所以作者选择不这样做.

转义javascript会更改< div id =“yo”>你真棒< / div>进入不会导致javascript解释器认为引号结束字符串变量的文本.

如果你输入

var awesome = "<div id="yo">You're Awesome</div>";

它会爆炸.引号需要“转义”成

&lt;div id=&;quot;yo&;quot;&gt;You're Awesome&lt;/div&gt;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读