Итак, я хочу, чтобы голоса запускались с использованием jQuery / AJAX и изображения.то есть у меня есть значок «вверх» и «вниз».
Я настроил гем и запустил грабли db: migrate, и все уладилось.
Но я не уверен, как выполнить голосование в моем приложении.
В моей модели я использую одну модель для acts_as_voter
, которая является моей Client
моделью.Модель, которая acts_as_votable
является моей Upload
моделью.Таким образом, клиент голосует за или против загрузки.Это буквально thumbs_up, не столько «голос» как таковой, потому что нет кармы или чего-то еще.Это просто большие пальцы вверх / вниз от каждого клиента за загрузку.
На мой взгляд, вот как я хотел бы выполнить голосование:
$("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");
}
});
};
Тем не менее, я хорошо знаю, что это, вероятно, придется изменить, если я хочу, чтобы этот драгоценный камень работал правильно.Это была просто моя версия попытки сделать то, что может сделать этот драгоценный камень (хотя я бы предпочел реализацию из этого драгоценного камня).