【问题标题】:Group based questions and answers - Ruby on Rails 3基于组的问题和答案 - Ruby on Rails 3
【发布时间】:2012-08-06 16:46:49
【问题描述】:

我希望为我的网站创建一个投票系统。我在决定如何建模时遇到了一些麻烦。

目前我有这样的模型:

Group has many users

在每个小组页面上都会有相同的问题,例如:

“您接下来想要什么功能?”

每个小组都有一组相同的可以投票的答案。我将使用 Thumbs Up gem 来对答案进行投票。

组的数量非常大,在 5000 左右。

我正在考虑这样建模:

Answer has many Responses
Response belongs to Group, Answer and is voteable (acts_as_voteable with Thumbs Up gem)

任何人都可以就其他明智的问题和答案建模提出建议吗?由于某种原因,这感觉不正确。

除了投票结果不同外,基本上多个小组会有相同的问题和答案。我想尽量避免为每个组创建投票和问题,因为这会导致数据库中有超过 100,000 条记录。

干杯

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 survey


    【解决方案1】:

    “除了投票结果不同外,基本上多个组会有相同的问题和答案。我想尽量避免为每个组创建投票和问题,因为这会导致数据库中的记录超过 100,000 条。”

    据我了解,您有一组固定的可能答案的问题,并且您将结果存储在响应中?

    我会选择问题和答案之间的 1:n 关系, 并且可能在组和问题之间有 n:m,这样您就可以在多个组中“重用”问题。

    【讨论】:

    • 是的。差不多。所以设计给每个答案每组一个响应是可以的吗?因此,对一个小组和回答的回应会很长。
    • 为什么不呢?如果这就是你需要的。不过,我发现响应和回答之间的区别有点令人困惑,也许您会找到更好的措辞。
    • 感谢您的建议。响应和答案之间的区别在于,如果每个组要对相同的答案对象进行投票,那么投票计数将跨越每个组,而不是基于每个组。因此,我将响应对象附加到答案和组的原因是跟踪每个组对某个答案的投票。如果你明白我的意思。 :) 干杯
    • 是的,我明白了,我只是觉得命名不是很具描述性。
    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 2011-01-31
    • 2011-08-23
    • 1970-01-01
    • 2011-10-20
    • 2011-06-22
    • 1970-01-01
    相关资源
    最近更新 更多