gpt4 book ai didi

ruby-on-rails - 如何使用 Rails 3 gem 'thumbs_up' 执行投票?

转载 作者:行者123 更新时间:2023-12-04 06:34:12 28 4
gpt4 key购买 nike

所以我希望使用 jQuery/AJAX 和图像触发投票。即我有一个大拇指向上图标和大拇指向下。

我已经设置了 gem,并运行了 rake db:migrate 并整理了所有内容。

但我不确定如何在我的应用程序中执行投票。

在我的模型中,我使用一个模型来 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 可以做的事情的版本(尽管我更喜欢这个 gem 的实现)。

最佳答案

这更多是关于如何在 Rails 中构建 Ajax 操作的问题,而不是与这个特定的 gem 相关的任何事情。

引用这里的设置:Clarification on how to use "thumbs_up" voting gem with Rails 3

您可以在 jQuery 中使用以下内容进行设置:

$.post('/posts/' + id + '/vote_up', function() {
alert('success');
})
.error(function() { alert('Vote error.'); });

希望这能让你更接近。

关于ruby-on-rails - 如何使用 Rails 3 gem 'thumbs_up' 执行投票?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139121/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com