Ruby on rails 我如何才能创建一个;个性测试“;使用Rails?

Ruby on rails 我如何才能创建一个;个性测试“;使用Rails?,ruby-on-rails,Ruby On Rails,这既是对现有开源模块的要求,也是对“体系结构”的要求。数据收集部分(提问)看起来可以使用测量师或向导gems完成 我需要帮助的部分是…你如何“衡量”或“评分”答案,从而得出“个性”?例如,Myers-Briggs类型测试会问多个问题,然后描述16种性格中的一种 我想把我的结果限制在四个,但我不知道怎么做。“如果你的得分是10-16,你就是摇滚明星;如果你的得分是5-9,你就回家”这一标准,我不认为同样有效吗 这更多的是一个“设计”问题,所以如果有更好的地方我可以问,让我知道,但人们可能会通过编程

这既是对现有开源模块的要求,也是对“体系结构”的要求。数据收集部分(提问)看起来可以使用测量师或向导gems完成

我需要帮助的部分是…你如何“衡量”或“评分”答案,从而得出“个性”?例如,Myers-Briggs类型测试会问多个问题,然后描述16种性格中的一种

我想把我的结果限制在四个,但我不知道怎么做。“如果你的得分是10-16,你就是摇滚明星;如果你的得分是5-9,你就回家”这一标准,我不认为同样有效吗


这更多的是一个“设计”问题,所以如果有更好的地方我可以问,让我知道,但人们可能会通过编程知道如何在rails中实现这种简化的专家系统。

您有四种个性类型,每个用户的测试都会为每种类型创建一个等级。(例如,在测试结束时,用户的a型得分为50分,B型得分为86分,C型得分为34分,D型得分为60分)用户由得分最高的个性类型指定。(例如B型)

个性测试中的每个问题都是多项选择题。每个答案对一种或多种人格类型都有一定的贡献。(例如,在问题1中,回答“D”将为A类得5分,B类得3分,C类和D类得0分。)

每个问题的每个答案都有一个4位数的
属性,指示如何执行后端的数学运算。例如:

<input type="radio" name="question_one" value="5400" />
<input type="radio" name="question_one" value="3211" />
<input type="radio" name="question_one" value="5608" />
<input type="radio" name="question_one" value="9006" />
  @user.process_answer(params[:question_one])
在控制器中,将表单数据传递给用户实例:

<input type="radio" name="question_one" value="5400" />
<input type="radio" name="question_one" value="3211" />
<input type="radio" name="question_one" value="5608" />
<input type="radio" name="question_one" value="9006" />
  @user.process_answer(params[:question_one])

如果用户选择问题1的第二个选项(对应于“3211”的值),那么他的个性档案将增加类型a的3分、类型B的2分、类型C的1分和类型D的1分。

在ruby(或rails)中构造“数学”的好方法是什么?在rails中,每个用户对象都有四个整数字段(每个个性类型一个)。每次用户提交表单信息时,他/用户对象的四个整数字段都会得到更新。例如,
如果参数[:question1]=“a”;type_a+=4;end
(这不是一个很好的例子,因为它不适合缩放,但如果不亲自设计系统,很难提供更多。)我认为这是一个想法,但正如你所看到的,它看起来可能会变得复杂超过三个问题…它不需要复杂,但只是想知道是否有一个好的方法…沿着这些思路…?我可以理解你的意思,例如,如果你每页有10个问题,你如何处理后端编程,这样它就不会太长,也不会太复杂OnRevolved?好吧,你可以把大部分工作放在前端(不管怎样,问题和答案都会吸引程序员的注意力)。例如,假设你在一个页面上有10个问题,每个问题都有四个可能的选择,用单选按钮实现。单选按钮都有一个与他们的问题相对应的名称(因此,单个问题下的答案将相互排斥)但它们给出的值将包含。。。