Поэтому я хочу, чтобы голоса запускались с использованием jQuery/AJAX и изображения. т. е. у меня есть значок «большой палец вверх» и «палец вниз».
Я настроил драгоценный камень, запустил rake db:migrate и все уладил.
Но я не уверен, как выполнить голосование в моем приложении.
В моей модели я использую одну модель для acts_as_voter
, которая является моей моделью Client
. Модель, которую acts_as_votable
, это моя Upload
модель. Таким образом, клиент голосует за/против загрузки. Это буквально палец вверх, а не столько «голосование» как таковое, потому что нет никакой кармы или чего-то еще. Это просто палец вверх/вниз от каждого клиента за загрузку.
На мой взгляд, вот как я хотел бы провести голосование:
$("div#upvote img").live("click", compv.comments.upvote);
Как я могу использовать это на самом деле для реализации действия upvote
с помощью этого драгоценного камня Rails 3?
Редактировать: если вам интересно посмотреть, что делает функция compv.comments.upvote
в ее текущей форме, вы можете увидеть это здесь:
compv.comments.upvote = function(event){
var uploaderID = compv.comments.getUploadID(event.target);
$.ajax({
url: '/uploads/'+uploaderID+'/upvote.js',
success: function(data, status, xhr){
var uploadElement = $("li[data-upload-id="+uploaderID+"]");
uploadElement.attr('data-upload-upvote', parseInt(uploadElement.attr('data-upload-upvote'))+1);
var imgElement = uploadElement.find("div.image-wrapper > img");
var img_opacity = imgElement.css('opacity');
if(img_opacity < 1 ) {
imgElement.fadeTo(600, 1, function() {
});
}
imgElement.removeClass("downvoted");
imgElement.addClass("upvoted");
}
});
};
Тем не менее, я прекрасно понимаю, что это, скорее всего, придется изменить, если я хочу, чтобы этот драгоценный камень работал правильно. Это была просто моя версия попытки сделать то, что может сделать этот гем (хотя я бы предпочел реализацию из этого гем).