pin*_*ngu 5 javascript ruby-on-rails railscasts
我一直在看这个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();
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么escape_javascript用于渲染部分,并显示闪光通知,但不是复数函数?
谢谢
pluralize(@review.product.reviews.count, 'Review') 只有几个可能的输出
0 Reviews
1 Review
n Reviews
Run Code Online (Sandbox Code Playgroud)
任何输出都不需要转义,因此作者选择不这样做。
转义 javascript 将更改为<div id="yo">You're Awesome</div>不会导致 javascript 解释器认为引号结束字符串变量的文本。
如果您要输入
var awesome = "<div id="yo">You're Awesome</div>";
Run Code Online (Sandbox Code Playgroud)
它会爆炸。引号需要“转义”为
<div id=\"yo\">You\'re Awesome<\/div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4764 次 |
| 最近记录: |