Ruby on Rails 2.3.x を使用しています。学習管理システム用のデータベースがあります。
ユーザーにはユーザーIDが与えられ、クイズに答えます。ユーザーが任意の数のクイズに回答した場合、平均スコアを表示したいと考えています。スコアはquiz_results
0 から 1 の間の浮動小数点数として表にリストされているため、* 100
と.round
もuser_id
行とともに表示されます。しかし、ユーザーがクイズをまったく受けていない場合は、私"No quizzes taken"
が登場したいと考えています。
コードは次のとおりです。
-if QuizResult.find_by_user_id(@user_id).present?
="#{(QuizResult.average('score', :conditions => 'user_id = #{@user.id}') * 100).round}%"
-else
%em No quizzes taken
quiz_results
問題は、エントリがあっても、何があって"No quizzes taken"
も が表示されることです。
私は何を間違っていますか?