Je considère ce un add-on question de sortes au fil ci-dessous: Using join tables in ruby on railsVous cherchez un moyen de suivre l'histoire dans la base de données des rails
Nous avons donc échafauds « étudiant » et « cours » rejoints par un association de plusieurs-à-plusieurs, mais en plus il y a aussi un échafaudage 'Semester' et ce que je souhaite faire est, pour chaque étudiant qui est ajouté à un cours, que l'application recherche des itérations précédentes du même cours à travers le passé semestres, à cela, il est connu combien de fois un étudiant a pris cette classe avant. Je suis un peu confus en ce moment quant à la façon de mettre en œuvre cela, alors j'espérais que quelqu'un pourrait m'aider à cerner la logique et le code que je devrais utiliser.
Certaines hypothèses sous-jacentes, j'ai jusqu'à présent:
- « Cours » et « semestre » devrait, comme « étudiant » et « Cours », être rejoint par un grand nombre à plusieurs associations (de nombreux cours sont enseignés par semestre, et un cours est enseigné pendant plus d'un semestre).
- Il devrait y avoir une action (disons get_student) dans le cours pour localiser l'étudiant via student_id. Ce serait le principal domaine que je me gratte la tête quant à ce qu'il faut faire. A quoi ressemblerait cette méthode dans le code?
- Au sein de la table de jointure étudiant bien sûr, je devrais avoir un attribut « tente » qui incrémente chaque get_student temps trouve ce student_id combiné avec l'course_id qui appelle les method.This serait le mécanisme qui dit en fait combien de fois le cours avait été tenté par l'étudiant.
- Je me suis d'abord demandé s'il devrait y avoir un contrôleur 'semestre' action pour activer get_student à travers tous les semestres, mais maintenant je suis en pensant que get_student devrait fonctionner correctement sans cela.
Appréciez toute aide que je peux obtenir à ce sujet. Merci.
Alors, avez-vous une mise à jour? –