Supposons que j'ai trois modèles: Student
, SchoolClass
et DayOfWeek
. Il existe une relation HABTM entre Student
et SchoolClass
, et entre SchoolClass
et DayOfWeek
. Ce que je voudrais faire, c'est trouver toutes les classes d'école appartenant à un étudiant donné qui se rencontrent le lundi.Ruby on Rails: Comment trouver tous les éléments avec un hachage contenant une valeur spécifique
Maintenant, je suppose que je pouvais faire quelque chose comme:
@student = Student.find(:student_id)
@student_classes = @student.school_classes.find(:all)
@student_classes_on_monday = Array.new
@student_classes.each do |student_class|
if student_class.day_of_week.include?("Monday")
@student_classes_on_monday << student_class
end
end
Est-il possible d'accomplir des lignes 2-8 dans une seule méthode de recherche?
C'est plus élégant, mais ce que j'aimerais vraiment, c'est une méthode find_all_by qui retourne seulement les classes recherchées. Je vais mettre à jour ma question pour être spécifique à ce point. – kingjeffrey
essayé de donner un petit aperçu dans une requête de recherche qui pourrait faire ce que vous voulez. Je ne sais pas si c'est exactement ce dont vous avez besoin. – Pete
Merci Pete. Si votre deuxième bit ne fonctionne pas pour moi, la première volonté. – kingjeffrey