我是 Rails 的新手,目前正在开发一个应用程序,我的同学/同学可以在其中评论主题/问题(与我们相关),并且每个评论都应该可以被投票赞成或反对。
我为“upvote”和“downvote”创建了一个自己的模型。
现在,在数据库中,我想知道,两个投票模型是否应该有一个整数可以增加,所以在我的控制器操作中,它会是...... + = 1。 - 或者它应该是一个列表/仅使用 .count 方法计算的选票集合以显示赞成票或反对票的值?
我是 Rails 的新手,目前正在开发一个应用程序,我的同学/同学可以在其中评论主题/问题(与我们相关),并且每个评论都应该可以被投票赞成或反对。
我为“upvote”和“downvote”创建了一个自己的模型。
现在,在数据库中,我想知道,两个投票模型是否应该有一个整数可以增加,所以在我的控制器操作中,它会是...... + = 1。 - 或者它应该是一个列表/仅使用 .count 方法计算的选票集合以显示赞成票或反对票的值?
Rails 有一个名为 counter_cache 的功能,用于在创建/销毁时自动计算关联模型的数量。这是关于它的:http: //guides.rubyonrails.org/association_basics.html第 4.1.2.4 节。它是通过数据库中的额外列完成的。
我认为您选择的选项取决于您的应用程序的要求。
话虽如此,从您的应用程序的描述来看,我认为赞成票和反对票不一定需要他们自己的模型。我会在您的 Comments 模型上为赞成和反对票创建一个属性,并使用单个整数来表示投票计数。