2013-04-04 64 views
0

我有一個Rails應用程序,我想以特定順序向用戶提供一系列問題。除非他回答了前一個問題,否則用戶不能繼續下一個問題。爲Rails應用程序設計高效的持續問答解答功能

下面是一些設計問題,我需要幫助上有效的實現:

要取的,因爲我需要做昂貴的 分貝呼叫的用戶問題清單。一旦進行了新的會話,列表如果提取,我只想讓 用戶從第一個問題開始按特定順序查看問題。如果用戶在 上嘗試了一些問題,他會跳到他最後一次離開的問題。 如何有效實施?我相信我需要在這裏緩存。

上呈現的觀點:

如何使此功能的看法?我可以使用 最初的問題模板。當用戶嘗試這個問題時,應該使用AJAX更新問題答案選項文本嗎? 我需要 爲什麼使用jQuery的目的或任何Rails的幫手可以在這裏幫助?

任何設計幫助,我可以使用的rails功能寶石將受到歡迎。

回答

1

我的答案不是特定於Ruby on Rails,但它應該仍然有效。

首先,我不會加載您可能不會提前使用的數據。如果您有10個問題,而且您只顯示一個問題,那麼我只需加載第一個問題,然後一旦用戶完成第一個問題,請繼續並加載第二個問題。沒有必要加載所有十個,因爲也許用戶從來沒有提出問題10.

假設用戶離開pre-maturely,您可以進行AJAX調用,以拿起你離開的地方。

我同意你應該緩存這些問題。

的步驟是這樣的,那麼:

  1. 第一個問題 - 通過AJAX加載。通過AJAX調用保存答案和進度。
  2. 如果(1),則通過AJAX加載第二個問題。通過AJAX調用保存答案和進度。
  3. 重複,直到問題完成。

通過這種方式,您可以使用用戶/登錄信息進行AJAX呼叫,以便從您離開的位置繼續。我想這會讓你的數據庫調用更便宜。

+0

要獲取我需要每次進行昂貴的數據庫調用的單個問題。在系統中,用戶選擇一個主題。根據選擇的主題,我獲取主題下的概念,然後獲取每個主題下的技能,最後獲取每個技能的問題。 – 2013-04-04 04:28:28