草庐IT

ruby-on-rails - 防止为每个评论调用 upvote 模型

我有三个模型:User、Comment和Upvote。User-to-Comment是一对多的关系,Comment-to-Upvote是一对多的关系,而User-to-Upvote是一对多的关系。我想做一些类似于在Stackoverflow上进行投票的事情。因此,当您投赞成票/反对票时,箭头将突出显示并保持突出显示状态,即使您在几天/几周后刷新页面或返回页面也是如此。目前我正在这样做:voted?方法在哪里:defself.voted?(user_id,comment_id)find_by(comment_id:comment_id,user_id:user_id).present?e

讨论论坛中的upvote/dessvote的数据库设计?

我有一个有讨论论坛的网站。所有问题都具有独特的ID,答案也具有独特的ID,并引用了问题ID的外键。我有一个用户登录。使用Ajax,我可以发送数据(upvote/downvote,qid/aid,用户名)。但是几乎没有问题。每当用户重新登录时,我都希望当他提出问题时,应该显示他以前的投票和低价投票。用户不能多次投票/降价同样的问题。就像他向+1提出问题一样,他只能降低投票,而不是再次投票。解决方案。我正在考虑维护一张表,其中用户名是主要键,另一个属性是他所做的所有高投票和低价投票的列表。例子:(username,array)(baqir,up_A001up_A050down_Q011up_Q12

javascript - Mongoose 和node.js中的TypeError : [function name] is not a function,

我是node.js和Mongoose的新手,如果有人能帮助我解决以下错误,我将不胜感激。我通过以下函数发出放置请求(该函数的要点是“赞成”论坛帖子。o.upvote=function(post){return$http.put('/posts/'+post._id+'/upvote').success(function(data){post.upvotes+=1;});};这又转到我的路线:index.js(我的路线)router.put('/posts/:post/upvote',function(req,res,next){req.post.upvote(function(err,

javascript - 模拟调用 'upvote' 的效果时出现异常。类型错误 : undefined is not a function

尝试为Crowducate.me的特定类(class)添加“upvoting”。从图中可以看出,该方法已正确调用。但是,我认为更新方法(mongo)不被理解。这是我的个人源代码allcommitsonGithub.我的courses.coffee(mongo集合)//顺便说一句:无法在此处设置正确的缩进格式:class@CourseextendsMinimongoid@_collection:newMeteor.Collection('courses')...Meteor.methods({createCourse:->userId=Meteor.userId()thrownewMet

sql - MySQL - 如何运行按分数排序结果的 SELECT 查询 - 例如 upvotes - downvotes

我有两个表——文章表和投票表。用户可以投票赞成或反对他们选择的文章(类似于Reddit)。我在投票表中的字段是:文章编号用户编号投票vote字段的值可以是0或1...(如果他们投票反对该文章则为0,如果他们投票赞成则为1)。我想做的是运行一个SELECT查询,返回所有得分最高的文章。也就是说,赞成票减去反对票。但是,我完全不知道如何做到这一点。我能够返回所有获得最多赞成票的文章,例如:--articletableiscalled"article"--votetableiscalled"user_article_vote"SELECTarticle.title,article.summa

mysql - 在没有表单的情况下在 Rails 中发出 AJAX 请求

所以我有一个posts在Rails应用程序中生成的脚手架,我添加了一个upvote和downvote列到帖子模型。我在View文件上添加了一个“upvote”按钮,当您点击upvote按钮时我需要进行AJAX调用并查询数据库,但是upvote按钮没有真正的Rails附加到它。我如何进行此AJAX调用并将赞成票添加到数据库以获取赞成票?当我进行此AJAX调用时:$('.up,.down').click(function(){$.ajax({type:'POST',url:'/posts',dataType:'JSON',data:{post:{upvote:1}},success:fun

mysql - 在数据库中,什么时候应该存储派生数据?

我的问题是关于非规范化。在数据库中,何时应该将派生数据存储在自己的列中,而不是每次需要时都计算?例如,假设您的用户因其问题而获得支持。您在其个人资料上显示用户的声誉。当用户被点赞时,您应该增加他们的声誉,还是应该在检索他们的个人资料时计算它:SELECTUser.id,COUNT(*)ASreputationFROMUserLEFTJOINQuestionONQuestion.User_id=User.idLEFTJOINUpvoteONUpvote.Question_id=Question.idGROUPBYUser.id获取用户声誉的查询必须占用多少处理器,才值得使用自己的列增量跟

mysql - 在数据库中,什么时候应该存储派生数据?

我的问题是关于非规范化。在数据库中,何时应该将派生数据存储在自己的列中,而不是每次需要时都计算?例如,假设您的用户因其问题而获得支持。您在其个人资料上显示用户的声誉。当用户被点赞时,您应该增加他们的声誉,还是应该在检索他们的个人资料时计算它:SELECTUser.id,COUNT(*)ASreputationFROMUserLEFTJOINQuestionONQuestion.User_id=User.idLEFTJOINUpvoteONUpvote.Question_id=Question.idGROUPBYUser.id获取用户声誉的查询必须占用多少处理器,才值得使用自己的列增量跟

mysql - 实现动态更新upvote/downvote

如何实现类似于法定人数的动态更新投票计数:-每当用户投票给查看该页面的每个人时,它都会自动反射(reflect)出答案。我正在寻找以下地址的答案:我们是否必须继续轮询每个答案的upvote计数,如果是,那么如何管理由于用户太多而产生的服务器负载投票表决。或使用websockits/push通知,这些通知的可扩展性如何?如何将upvote/downvote计数存储在数据库/内存中以支持此操作。它们如何控制读/写次数。我的后端数据库是mysql我正在寻找的答案可能并不完全是定额的,但可能是可以使用可用的开源技术来完成的。 最佳答案 您不

ruby-on-rails - 销毁 acts_as_votable 上的 UpVotes

我有一个使用acts_as_votable运行良好的Rails应用程序。“赞”按钮会为帖子计数投票,然后切换为“不喜欢”按钮,这会为帖子计数投票。我的问题是,自从我开始使用PublicActivitygem以来,我找不到从提要中删除喜欢的方法。我在事件索引View中使用了以下循环:当我删除评论时,“FOO在BAR上添加了评论”事件提要中的整行消失了。然而,由于作为可投票gem的行为实际上产生了反对票而不是破坏了赞成票,所以“FOO喜欢BAR”这一行仍然出现,随后会出现“FOO不喜欢BAR”。有谁知道我如何找到current_user在特定帖子上的点赞然后销毁它?下面是我的Control