2011-10-15 3 views
0

자바 스크립트로 투표 수를 업데이트하고 싶습니다.jquery 업데이트, 정의되지 않은 지역 변수

내 show 액션 :

<%= 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') %>"); 

투표는 아무 문제없이 게시됩니다. 그러나 자바 스크립트, ActionView 작동하지 않습니다 :: 템플릿 :: 오류 (정의되지 않은 지역 변수 또는 메서드 '리뷰'

+0

I을 부분 변수의 리뷰가 인스턴스 변수라면 투표/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 %> 
관련 문제