我想在產品(stackoverflow樣式)的評論上實現AJAX Upvote/Downvote。將Rails變量傳遞給AJAX調用
我每次審查產生的部分投票:
_vote.html.erb
<div id="vote_<%= review.id %>" class="vote">
<%= link_to 'Vote Up', upvote_kata_review_path(@product, @review), :class => "upvote", :method => :post, :remote => true %>
<span><%= review.plusminus %></span> <!--show the current vote-->
<%= link_to 'Vote Down', downvote_kata_review_path(@product, @review), :class => "downvote", :method => :post, :remote => true %>
</div>
和upvote.js.erb
$(document).ready(function(){
$('#vote_id???').html("<%= escape_javascript render :partial => 'votes/vote' %>");
});
所以,當用戶點擊給予好評,該部分將被重新渲染以顯示新的投票計數。
問題是,頁面中有很多評論。在AJAX調用之後,JavaScript不知道哪個評論的投票偏重於重新呈現。 ($('#vote_id ???')部分)
Rails是否有任何方式將評論ID傳遞給JavaScript?
或實現此功能的任何其他替代方法。
在此先感謝!
你並不需要準備一個文件包upvote.js.erb ,因爲在AJAX請求觸發時文檔應該已經準備就緒。 –
請向我們展示upvote操作的代碼。理想情況下,應該在其中定義一個'@ review'變量,可以使用它。 –