我有一个通过ajax更新的向上/向下投票机制。原来,在我看来,代码以显示计票结果为:<p id='votes'><%= pluralize video.vote_sum, 'Vote' %></p>
,在我create.js.erb文件中的代码是:$('selector').html("<p id='votes'><%= escape_javascript pluralize(@video.vote_sum, 'Vote') %></p>");
从js.erb文件维护CSS样式,使用ajax更新页面
但是,我意识到,我想有从<%= pluralize video.vote_sum, 'Vote' %>
产生许多不同的CSS样式比“投票”或“投票”的文本要多。这需要我将视图代码更改为:
<p id='votes'>
<%= video.vote_sum %>
<div class="vote_text">
<% word = "Vote" %>
<% if video.vote_sum != 1 %>
<%= word.pluralize %>
<% else %>
<%= word %>
<% end %>
</div>
</p>
它工作正常。但是,当我将JS代码更改为:
$('selector').html("<p id='votes'>
<%= video.vote_sum %>
<div class="vote_text">
<% word = "Vote" %>
<% if video.vote_sum != 1 %>
<%= word.pluralize %>
<% else %>
<%= word %>
<% end %>
</div>
</p>");
投票显示停止更新。现在投票的作品和所有,因为当我刷新页面时,它显示正确的投票计数与正确的样式。但是,阿贾克斯已停止工作。我怎样才能解决这个问题?
感谢,但它仍然不是工作:/ – 2011-03-22 01:48:15
哦,我错过了一些东西! JavaScript中的多行字符串需要转义。我会更新代码。 (déjàvu much?:P) – 2011-03-22 01:50:21
lol仍然不起作用 – 2011-03-22 01:54:01