所以我希望使用 jQuery/AJAX 和图像触发投票。即我有一个大拇指图标和大拇指向下。
我已经设置了 gem,并运行了 rake db:migrate 并整理了所有内容。
但我不确定如何在我的应用程序中执行投票。
在我的模型中,我使用一个模型 to acts_as_voter
,这是我的Client
模型。模型acts_as_votable
是我的Upload
模型。因此,客户投票赞成/反对上传。从字面上看,它是一个大拇指,而不是“投票”本身,因为没有业力或任何东西。每次上传时,每个客户端都会简单地竖起大拇指。
在我看来,这就是我希望执行投票的方式:
$("div#upvote img").live("click", compv.comments.upvote);
如何upvote
使用这个 Rails 3 gem 来实际实现一个动作?
编辑:如果您有兴趣查看该功能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");
}
});
};
但是,我很清楚,如果我要让这颗宝石正常工作,这可能必须改变。这只是我尝试做这个 gem 可以做的事情的版本(虽然,我更喜欢这个 gem 的实现)。