2014-01-30 76 views
1

我正在使用紅寶石在軌道上的問答遊戲。我創建了基本認證和其他頁面。現在我開始創建主遊戲。我想獲得關於我應該使用什麼方法的意見,即爲每個問題創建一個單獨的視圖,還是有一個寶石可以做同樣的事情?或者其他一些方法紅寶石在軌道上的問答遊戲

+1

你不需要一個單獨的視圖。就像KappaNossi說的那樣,只要創建一個哈希表,你就可以使用一個視圖來不斷刷新和顯示問題(並且你可以輕鬆訪問相應的答案)。請務必在客戶端執行此操作,以便爲用戶提供流暢體驗。您可能有興趣查看** ajax **此 –

回答

2

我會建議使用this RailsCast中描述的部分嵌套形式。

+0

我認爲這種方法可能會更好。因爲它遵循乾燥的原則嗎? – anonn023432

4

那麼問題遵循一個模式,不是嗎?

他們有一個問題文本和一定數量的答案。其中一個答案被定義爲「正確的」。像這樣的東西可能是適當的:

# Question: 
{ :question_id => 1, 
    :text => 'What is StackOverflow?', 
    :answers => # Answers: 
       [{:answer_id => 1, :text => 'A search engine'}, 
       {:answer_id => 2, :text => 'An info page for flood victims'}, 
       {:answer_id => 3, :text => 'A website for asking coding related questions'} ], 
    :correct_answer_id => 3 } 

現在使用的是基本模板,顯示(這只是一個questionanswer對象的屬性表示用實際模型和值保存到數據庫中。!)一般question值並列出所有嵌套的answer對象。

<p><%=h @question.text %></p> 
<ol> 
    <% @question.answers.each do |answer| %> 
     <li><%=h answer.text %></li> 
    <% end %> 
</ol> 

將此擴展爲實際的表單以允許提交答案並設置好。

+0

正在使用此方法安全嗎?我的意思是添加這樣的答案? – anonn023432

+0

好吧,是啊,我添加了html轉義(h)到模板調用,如果這就是你的意思。我只是認爲這是一個小細節,因爲你要求一個基本的結構。 – KappaNossi