0

我有 Ruby on Rails 2.3.x。我有一个学习管理系统的数据库。

用户被赋予一个用户ID,并进行测验。如果用户进行任意数量的测验,我希望显示平均分数。分数在quiz_results表中列为 0 和 1 之间的浮点数,因此* 100and 也.rounduser_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"仍然会出现。

我究竟做错了什么?

4

1 回答 1

0

您正在测试是否:

QuizResult.find_by_user_id(@user_id)

存在,但我怀疑你的意思是:

QuizResult.find_by_user_id(@user.id)
于 2012-08-30T13:34:20.960 回答