Ruby on rails 为Rails应用程序设计高效的连续问答功能

Ruby on rails 为Rails应用程序设计高效的连续问答功能,ruby-on-rails,ruby-on-rails-3,caching,Ruby On Rails,Ruby On Rails 3,Caching,我有一个Rails应用程序,其中我希望以特定顺序向用户呈现一系列问题。除非用户回答了前一个问题,否则无法继续下一个问题 以下是一些我需要帮助才能有效实施的设计问题: 要为用户获取问题列表,我需要制作一个 数据库呼叫。对于新会话,如果获取列表,我只需要 用户以特定顺序查看问题,从 第一个问题。如果用户试图在中提出一些问题 在上一节课中,他将跳转到最后一道题。怎么 如何有效地实施它?我想我需要这里 渲染视图时: 如何渲染此功能的视图?我可以有一个控制器 初始问题模板。当用户尝试提问时,应该 我有问答

我有一个Rails应用程序,其中我希望以特定顺序向用户呈现一系列问题。除非用户回答了前一个问题,否则无法继续下一个问题

以下是一些我需要帮助才能有效实施的设计问题:

要为用户获取问题列表,我需要制作一个 数据库呼叫。对于新会话,如果获取列表,我只需要 用户以特定顺序查看问题,从 第一个问题。如果用户试图在中提出一些问题 在上一节课中,他将跳转到最后一道题。怎么 如何有效地实施它?我想我需要这里

渲染视图时:

如何渲染此功能的视图?我可以有一个控制器 初始问题模板。当用户尝试提问时,应该 我有问答选项,用AJAX更新文本?我一定要吗 为此使用jquery,或者任何Rails助手都可以在这里提供帮助


欢迎提供我可以使用的任何设计帮助、rails功能和gems。

我的回答不是针对Ruby on rails的,但它应该仍然有效

首先,我不会加载您可能事先不会使用的数据。如果您有10个问题,并且一次只显示一个,那么我将只加载第一个问题,然后在用户完成第一个问题后,继续加载第二个问题。不需要加载全部10个,因为用户可能永远无法进入问题10

假设用户提前离开,您只需进行一次AJAX调用,就可以从您离开的地方开始

我同意你应该把这些问题隐藏起来

步骤如下所示:

  • 第一个问题-通过AJAX加载。通过AJAX调用保存应答和进度
  • 如果是(1),则通过AJAX加载第二个问题。通过AJAX调用保存应答和进度
  • 重复,直到问题完成

  • 通过这种方式,您可以使用用户/登录信息来进行AJAX调用,以从中断的地方开始。我想这会使数据库调用的成本大大降低。

    要回答这个问题,我每次都需要进行一次昂贵的数据库调用。在系统中,用户选择一个主题。根据选择的主题,我获取主题下的概念,然后是每个主题下的技能,最后是每个技能的问题。