rails quiz implementation:每个答案保存点数

时间:2014-10-24 15:30:54

标签: ruby-on-rails ruby-on-rails-4.1

我正在制作一个类似测验的应用,其中包含多个问题,其中包含多个答案。每个答案都有 points id_of_next_question 属性 - 根据答案,用户应该使用不同的问题。

这样做的简单方法就是这样做:

< @ question.answers.each做|回答| %GT;

  • < = link_to answer.content,question_path(answer.id_of_next_question)%>
  • <结束%>

    但是这有缺点,用户会在路径中看到问题的ID,我不知道如何使用link_to收集answer.points。

    制作ie ... / play.html视图以显示第一个问题的正确方法是什么,并根据答案,计算points = points + answer.points并使用答案呈现下一个问题而不更改“... / play.html”路径?

    1 个答案:

    答案 0 :(得分:0)

    实现这一目标的一种方法是让你的链接就像一个创建一个新的question_result(一个保存用户选择的模型)的表单,

    例如

      

    < @ question.answers.each做|回答| %GT;    < = link_to answer.content,question_results_path(:question_id => @ question.id,:answer_id => answer.id),:method => :post%>   <结束%>

    然后在question_results_controller中,您可以创建一个使用answer_id计算点数的创建操作,并将用户重定向回play.html路径,并将下一个问题ID作为参数,以便用户可以继续测验。您可以将点总数保存为cookie(尽管更合适的方法是使用用户模型,并将每个用户的结果保存在数据库中)