2011-10-15 42 views
0

我想用javascript更新投票計數。jquery更新,未定義的本地變量

我的表演動作:

<%= render :partial => @car.reviews %> 

審查的部分有:

<p id="review_<%= review.id%>"><%= pluralize(review.votes_count, 'vote') %> 

票/ create.js.erb

$("review_<%= review.id %>").html("<%= pluralize(review.votes_count, 'vote') %>"); 

表決被髮布沒有任何問題。但JavaScript不工作,::的ActionView ::模板錯誤(未定義的局部變量或方法'回顧」

+0

我我想知道部分文件中的評論是否是一個實例變量,然後我可以在票/ create.js/erb文件中使用它嗎?可以在部分文件中訪問@review嗎? – chief

+0

部分文件可以訪問任何實例變量在創建/更新操作中(也就是您發佈的操作) – Msencenb

+0

這就是在部分中發生的事情:<%@ car.reviews.each do | review |%>。我將該循環包含在create.js.erb並帶有警告消息,並顯示所有值包括正確的新價值。但實際的HTML並沒有改變。 - 當我沒有循環時發生未定義的局部變量錯誤。 – chief

回答

0

所以解決的辦法是包括在.js.erb文件循環。

<% @car.reviews.each do |review| %> 
$("#review_<%= review.id %>").html("<%= pluralize(review.votes_count, 'vote') %>"); 
<% end %>