-1

私はクイズを作成し、それをページごとに1つ表示し、答えが正しいかどうかを確認し、データベースに1を追加し、それ以外の場合はuser_id 3に0を追加します

+----+--------+--------------+---------+---------------+------------+-------+
| 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、管理者ログインでmarks列の合計を表示させたい

@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 に答える