我疯狂地在我的测验应用程序中添加了一些基于Rails和Active Record的功能。
这是我的实际数据模型:
class Quiz < ActiveRecord::Base
has_many :quiz_questions
has_many :questions, through: :quiz_questions
belongs_to :user
end
class Question < ActiveRecord::Base
belongs_to :section
has_many :answers
has_many :quiz_questions
has_many :quizzes, through: :quiz_questions
end
class Answer < ActiveRecord::Base
belongs_to :question
end
class Section < ActiveRecord::Base
has_many :questions
end
class User < ActiveRecord::Base
has_many :quizzes
end
问答很明显:我存储问题,每个问题都有答案。
现在逻辑正常。
用户创建一个测验,系统会随机提出一些问题并将它们添加到连接表中。
我现在必须添加一些统计数据:我想为每个用户添加跟踪正确答案百分比和更多错误的问题的可能性,我还希望为每个用户提供选择“测验生成策略”的可能性,压倒问题选择的“随机性”。例如,用户可以创建一个他从未回答的问题的测验(表格中有大约1200个问题,每个测验有30个问题),或者用户可以创建一个他经常犯错的问题的测验。
我找不到以智能方式添加这些计数器的方法。我有我的连接表,但使用连接表我的表现很差。有什么想法吗?