/ / Je veux afficher la somme de la colonne de base de données dans une autre page dans ruby ​​on rails - mysql, ruby-on-rails, ruby, database, activerecord

Je veux afficher la somme de la colonne de base de données dans une autre page dans ruby ​​on rails - mysql, ruby-on-rails, ruby, database, activerecord

J'ai créé un quiz et affiché que dans une par page et vérifier que la réponse est correcte ou non et ajouter 1 dans la base de données sinon 0 pour 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 |
+----+--------+--------------+---------+---------------+------------+-------+

je veux que la somme de la colonne des marques soit affichée dans la connexion administrateur, user_id 1 dans le contrôleur

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

en vue

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

il affiche uniquement - pas @total

Réponses:

0 pour la réponse № 1

Je ne sais pas trop quoi @answers est ou comment il a été calculé. Quoi qu'il en soit, je suppose que le tableau ci-dessus est le tableau des quiz.

Si oui, veuillez essayer:

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

Ou

@total = Answer.where(:user_id => [3]).sum :marks