mysql - 错误率: Condition Always False - Why?

标签 mysql ruby-on-rails ruby haml

我正在 Rails 2.3.x 的学习管理系统上工作。这是我的代码:

-@users.each do |user|
    %tr
        %td
            =link_to h(user.name), :action => :show_user, :id => user.id
        %td="#{h user.grade_level}"
        -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 表包含 user_idscore 等列。我有一条记录,其中包含 user_id (3907) 和 result (0.1),而我正在查看的两个用户在 quiz_results 中没有记录> 表。

对于这三个人来说,显示屏上都显示“没有进行测验”,这让我相信这一行无论如何都是错误的:

-if QuizResult.find_by_user_id(@user_id).present?

有什么解决办法吗?

最佳答案

if 语句中将 @user_id 更改为 user.id,并将 @user.id 更改为 用户.id。另外将单引号更改为双引号,否则使用字符串插值将不起作用。

关于mysql - 错误率: Condition Always False - Why?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12208537/

相关文章:

ruby-on-rails - ruby rails : Common method available for controllers and views?

ruby-on-rails - 如何在 Rails Schedule.rake 中包含模块?

mysql - 这个 MySQL 查询有什么问题?

php - MySQL PHP 抓取与查询不相关的行

ruby-on-rails - Dockerized Rails 5 RC1 应用程序未获取开发中 Controller 和模型的更新

mysql - 后端的 Ruby On Rails(RoR) JSON 和 MySQL 怎么样?

php - LAMP考勤系统

php - Yii,php foreach 错误

ruby-on-rails - OS X Mavericks,无法安装 libxml-ruby gem?

ruby-on-rails - 如何在哈希数组中找到最大值?