2013-03-19 2 views
1

나는 내 웹 사이트에이 보석을 구현하고 있습니다. 그러나 나는 더 많은 기능을 구현하려고합니다. 나는 사용자가 투표를하기 위해 클릭 할 엄지 손가락과 엄지 아이콘을 배치했습니다. 그런 다음 한 단계 더 나아가 YouTube 시스템과 유사한 투표 방식을 구현하려고합니다. 투표를 클릭하면 아이콘이 녹색으로 변경됩니다.Activerecord Reputation System Gem - 추가 기능 구현

다행히도 다른 사람도 그걸 시도했지만 그 사람의 지시에 따라 문제가 있음을 알았습니다. 이 사람이 한 일은 Active Record Reputation System - Railscasts이고 사용자 이름은 코발트입니다.

그래서 내 프로젝트에 이것을 구현하려고하면 아이콘 (로드 된 이미지)이 변경되지 않습니다. 나는 끊임없이 빨간 이미지를 보았다.

는 I 디버깅 시도 코드 세그먼트는 문제
def up_voted_for?(item) 
    eval = evaluations.where(target_type: item.class, target_id: item.id).first 
    eval.present? && eval.value > 0 ? true : false 
end 

을 일으키는 것을 알았다 여기서 코드의 실행 이후의 빈 채로 평가.

그래서 올바른 이미지를 표시하기위한 코드는 사용자가 없습니다 투표를하거나 경우 :

<% if can? :vote, answers %> 
    <% if current_user.up_voted_for?(answers) %> 
     <%= image_tag("color_up_arrow.png") %> 
    <% else %> 
     <%= link_to image_tag("gray_up_arrow.png"), vote_answer_path(answers, type: "up"), method: "post" %> 
    <% end %> 
    <% end %> 

을 모든 코드의 명확한 그림을 제공하는 경우, 평가는 user.rb 파일에 있습니다

has_many :evaluations, class_name: "RSEvaluation", as: :source 

귀하의 의견을 알려주십시오. 다른 정보가 필요하면 알려주십시오.

p.s. 오류 로그가 없으며 잘못된 이미지 만로드됩니다.

시간과 노력에 감사드립니다.

답변

2

업데이트 :이 해결책을 찾았습니다. 이 보석 개발자는 evaluation.rb 파일을 업데이트 했으므로 보낸 쿼리가 잘못되었습니다. 전송 한 쿼리를 수정하거나 이전 버전 (1.5.1)을 사용하십시오.

도움을 주신 모든 분들께 감사드립니다.

관련 문제