ruby-on-rails - Rails 3 实现业力思想的最佳方式?

标签 ruby-on-rails

我有一个应用程序,它是 reddit 的简单克隆。使用 Devise,您可以注册并提交链接并对其进行投票。我开始尝试vote_fu_rails_3,但遇到了数据库问题和其他一些问题,所以我使用了我自己的投票解决方案,它只记录了link_id、user_id和时间戳。

我正在尝试实现一种方法,让您的链接上的投票计入“业力”总分,ala reddit。您的业​​力将是您的赞成票减去您的反对票总数。我想我需要在用户模型中编写一个方法(也许是链接模型?)

现在,用户表中没有用于 'karma' 或 'link_score' 或类似内容的字段。也许在链接表中添加一个简单的整数列并在投票时添加或减去它可以让我这样做?

现在要显示我正在使用的票数,可能不正确的 link.votes.count (也许它显示总票数而不是总票数为向上 - 向下)。

Github Link

最佳答案

如果您希望它快速,为什么不将 Karma 添加到 User 模型并在有人投票赞成/反对时更新它?否则,每次显示时都必须不断计算它。如果您拥有大量业障的用户,这可能会变得昂贵,我认为这是您的目标。

关于ruby-on-rails - Rails 3 实现业力思想的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5211936/

相关文章:

ruby-on-rails - 有没有办法删除 Sublime Text 3 中的所有注释行?

ruby-on-rails - Ruby on Rails - 如何管理对共享文件的多次访问

ruby-on-rails - 如何让 Bootstrap Javascript 在 Ruby on Rails 6 中工作

javascript - 如何在 Rails View Controller 中访问 HTML5 本地存储

ruby-on-rails - rails 3 资源 "without"

ruby-on-rails - ActiveRecord 自定义类型命名方案

ruby-on-rails - 安装生成器不会看到我定义的方法

ruby-on-rails - Ruby file_get_contents 等价物

mysql - Rails 4.2 MySQL 5.6 Elastic Beanstalk YAML 语法错误

ruby-on-rails - 跨范围划分的多条 Rails 资源路线