0
나는 간단한 순위 시스템을 구축 중입니다. 의견을 투표하면 사용자의 rank
이 부스트됩니다. @comment.rating
은 업데이트 된대로 저장됩니다. 그러나 @comment.user.rank
은 그렇지 않습니다. 오류를보고하지 않으며 업데이트하거나 저장하려고 시도하지 않습니다.랭킹 시스템이 db 레코드를 업데이 트하지 않습니다
def increment
@comment = Comment.find(params[:id])
@comment.rating += 1
@comment.user.rank += User::RANK_VALUES["comment_plus"]
if @comment.save
flash[:notice] = "Voted up"
redirect_to(:back)
else
flash[:notice] = "Error"
redirect_to(:back)
end
end
이이 link_to
로 호출 :
이
내 댓글 컨트롤러의 방법입니다<%= link_to "+", :controller => "comments", :action => "increment", :id => comment.id %>
그리고이 방법이 실행되는 로그 데이터입니다 :
Started GET "/comments/increment/12" for 127.0.0.1 at Wed Aug 24 22:35:39 -0400 2011
Processing by CommentsController#increment as HTML
Parameters: {"id"=>"12"}
Comment Load (0.2ms) SELECT "comments".* FROM "comments" WHERE "comments"."id" = 12 LIMIT 1
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = 3 LIMIT 1
AREL (0.2ms) UPDATE "comments" SET "rating" = 9, "updated_at" = '2011-08-25 02:35:39.315081' WHERE "comments"."id" = 12
Redirected to http://localhost:3000/photos/6
@ comment.user.rank 업데이트가 무시되는 이유에 대한 의견이 있으십니까? 참고 : 전달할 해시는 정상적으로 처리되어야합니다. 나는 또한 똑같은 결과를 가진 곧은 정수를 전달하려고 시도했다.
오른쪽! 아 ... 고마워! 나는 그것이 가능한 한 빨리 받아 들일 것이다. –
문제가 없습니다! 다행스럽게 도울 수있어! – MrDanA