-1

我创建了一个测验并在每页显示一个并检查答案是否正确,并在数据库中添加 1 否则为 user_id 3

+----+--------+--------------+---------+---------------+------------+-------+
| id | answer | questions_id | user_id | exam_group_id | modules_id | marks | 
+----+--------+--------------+---------+---------------+------------+-------+
|  1 | ans1   |            1 |       3 |             1 |       NULL |     1 |
|  2 | ans2   |            2 |       3 |             1 |       NULL |     1 |
|  3 | ans3   |            3 |       3 |             1 |       NULL |     0 |   
|  4 | ans2   |            4 |       3 |             1 |       NULL |     0 |
+----+--------+--------------+---------+---------------+------------+-------+

我希望在管理员登录中显示标记列的总和,控制器中的 user_id 1

@answers = Answer.find(:all)
@total = @answers.map(&:marks).sum

在视野中

<%= @total || '-' %>

它仅显示 - 不显示 @total

4

1 回答 1

0

我不太确定@answers它是什么或如何计算的。无论如何,我假设上面的表格是测验表格。

如果是这样,请尝试:

@total = Answer.sum(:marks, :conditions => {:user_id => [3]})

或者

@total = Answer.where(:user_id => [3]).sum :marks
于 2013-10-18T06:00:32.843 回答