应该在哪个表中存储答案

时间:2013-07-29 08:01:41

标签: ruby-on-rails foreign-keys

该项目目前有3个表,一个用户参加比赛和比赛用户。

这个想法是管理员可以创建比赛,用户可以输入比赛。我有比赛存储所有比赛细节和存储用户详细信息的用户,我的competitions_users只是存储来自比赛和用户的外国id,所以他们可以链接,许多用户可以有很多比赛。

问题出现在我希望用户回答问题时,我无法在竞赛表中存储答案,因为这会为用户创建大量重复数据。我根本不确定在哪里存放它。我想过有一个名为答案的独立表,但我无法确定如何与其他人一起实现它。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:2)

我想说有一个answers表就可以了。

我假设你为你的模特使用ActiveRecord,所以我不得不这样做:

class Answer < ActiveRecord::Base
    belongs_to :user
    belongs_to :competition
end

你可能需要更多的参与来将答案与特定问题等联系起来,但也许这会给出一般的想法。


以下是其他课程可能适合的内容:

class Competition < ActiveRecord::Base
    has_and_belongs_to_many :users
    has_many :answers
    ...
end

class User < ActiveRecord::Base
    has_and_belongs_to_many :competitions
    has_many :answers
    ...
end

答案 1 :(得分:0)

这完全取决于你。我会建议一个名为

的单独表格

答案:Question_ID(FK:competition.id),正确的答案
USER_ANSWER:USER_ID,COM​​P_ID,QUES_NUM,WRITE / WRONG,USERS_ANSWER

为了简化,天空是极限。