假设您要创建类似Digg.com的网站。投票应该是自己独立的模型,还是投票应该是表格中的一个字段,用于投票的对象模型?
答案 0 :(得分:3)
这取决于您要存储的信息量。如果您只是对某事物和总分的引用,那么您不需要模型。如果您想存储投票的人,收到多少上/下票,收到投票时的时间戳,以及能够从不守规矩的来源回滚投票,那么您需要将每个投票保留为他们自己的模型。就个人而言,如果我正在设计这样一个系统,我会把每个投票都记录下来。
答案 1 :(得分:3)
考虑到类似Digg.com的网站要求,我会说 - 自己的模型。很大程度上是由于需要所谓的“投票环”检测 - 检测假选民群体。
除此之外 - 我会选择田地。例如,MySQL可以原子方式更新行(因此他们说,我自己从未尝试过),这应该是非常有效的。有关MySQL docs的更多信息。
答案 2 :(得分:0)
这取决于您是否要保留相关的投票信息。这与RoR无关,但与数据库规范化无关。
如果你想保留投票的额外信息,比如它可能是记录的日期,你应该将它保存在另一个表格中(因此它将是另一个模型)。如果没有,您可以将其存储在其他对象表中。