该项目目前有3个表,一个用户参加比赛和比赛用户。
这个想法是管理员可以创建比赛,用户可以输入比赛。我有比赛存储所有比赛细节和存储用户详细信息的用户,我的competitions_users只是存储来自比赛和用户的外国id,所以他们可以链接,许多用户可以有很多比赛。
问题出现在我希望用户回答问题时,我无法在竞赛表中存储答案,因为这会为用户创建大量重复数据。我根本不确定在哪里存放它。我想过有一个名为答案的独立表,但我无法确定如何与其他人一起实现它。
非常感谢任何帮助
答案 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,COMP_ID,QUES_NUM,WRITE / WRONG,USERS_ANSWER
为了简化,天空是极限。