2016-06-09 40 views
0

所以我試圖循環遍歷並在result.correct_node屬性等於dashboard.questions.answer.text屬性時將正確值加1,但由於某種原因,此循環不起作用。Ruby on Rails循環有很多關係不起作用

我的邏輯是: 1.循環遍歷每個問題,遍歷所有結果,檢查它們的賦值questionid是否等於問題的id,如果是,檢查text和correct_node是否相同,並添加1到正確的變量。然後爲每個問題做這個。

從我可以告訴我什麼時候我調試循環if語句不能正常工作,並且有一般問題,我如何做到這一點。

該對象的關係是這樣的。

儀表板有很多問題。問題有很多答案。結果具有questionid和correct_node屬性。

@correct = 0 
@wrong = 0 
@dashboard.questions.map do |question| 
     @results.each do |result| 

      if question.id == result.questionid 

       question.answers.map do |answer| 
        if answer.text == result.correct_node 
         @correct = @correct + 1 
        else 
         @wrong = @wrong + 1 
        end 
       end 
      end 
     end 
end 

如果有人可以讓我知道我怎麼會去解決這個或什麼是錯了,它會非常感激。謝謝。

+0

歡迎來到Stack Overflow。請閱讀「[問]」和「[mcve]」。 –

+0

感謝您的歡迎。如果我提供的詳細信息存在問題,請告訴我需要什麼,我會很樂意提供。 – Kevin

+0

您的問題與您需要的幫助文件說明相符嗎?如果沒有,則添加缺失的信息。從那時開始,然後我們可以問我們是否需要一些東西。你的代碼是不可測試的,我們必須猜測你的變量包含了什麼,數據庫中的行是否包含我們認爲他們做的事等等。 –

回答

0

發現循環有效,錯誤是由於與變量的值相混淆造成的。謝謝。