В настоящее время у меня есть контроллер комментариев, в котором есть методы vote_up и vote_down, вот как сейчас работает мой vote_up.
Моя модель комментариев имеет описание и поле подсчета.
def vote_up
@comment = Comment.find(params[:comment_id])
@comment.count += 1
if @comment.save
flash[:notice] = "Thank you for voting"
respond_to do |format|
format.html { redirect_to show_question_path(@comment.question) }
format.js
end
else
flash[:notice] = "Error Voting Please Try Again"
redirect_to show_question_path(@comment.question)
end
end
Это позволяет проводить многократное голосование вверх и вниз. Как бы я спроектировал это так, чтобы пользователь мог проголосовать только один раз за комментарий, но каким-то образом отслеживать, проголосовал ли он за или против, чтобы у них была возможность изменить свой голос, если они тоже захотят.