【发布时间】:2011-03-12 20:12:55
【问题描述】:
假设您想创建一个类似于 Digg.com 的网站。投票应该是它自己的单独模型,还是应该是表中被投票对象模型的字段?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model
假设您想创建一个类似于 Digg.com 的网站。投票应该是它自己的单独模型,还是应该是表中被投票对象模型的字段?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model
这取决于您要存储多少信息。如果您只是参考某物和总分,那么您不需要模型。如果您想要存储谁投票、收到了多少赞成/反对票、收到投票的时间戳,并且能够从不守规矩的来源回滚投票,那么您需要将这些投票中的每一个保留为自己的模型。就个人而言,如果我正在设计这样一个系统,我会让每一次投票都有自己的记录。
【讨论】:
考虑到类似 Digg.com 的网站要求,我会说 - 自己的模型。很大程度上是因为需要所谓的“投票环”检测 - 检测假选民群体。
除此之外 - 我会选择字段。例如 MySQL 可以自动更新行(所以他们说,我自己从未尝试过),这应该是非常有效的。有关MySQL docs 的更多信息。
【讨论】:
这取决于您是否要保留相关的投票信息。这与 RoR 无关,但与数据库规范化有关。
如果您想在投票中保留额外信息,例如记录日期,您应该将其保存在另一个表中(因此它将是另一个模型)。如果没有,您可以将其存储在其他对象表中。
【讨论】: