Je travaille sur un script qui est censé écrire une liste d'éléments dans un hachage, mais pour une raison quelconque, il ne place que le dernier élément dans la boucle dans le hachage ... Je travaille sur ce script toute la journée, donc je suis sûr que c'est quelque chose que je suis en train de manquer.Problèmes de boucle Ruby
Voici le script
@mr = MediaRating.where("user_id = ?", session['user_credentials_id'])
@mr.each do |rating|
@m = Media.where("id = ?", rating.media_id)
@m.each do |m|
s = Profile.find_by_subscriber_id(m.subscriber_id)
@h_lang = Language.find_by_code(s.language)
@history = {m.title => @h_lang.english}
end
end
Il y a plusieurs enregistrements dans la table MediaRating donc je sais qu'il doit faire quelque chose avec la façon dont ma boucle est. Merci d'avance pour l'aide!
Code de travail:
@mr = MediaRating.where("user_id = ?", session['user_credentials_id'])
@mr.each do |rating|
@m = Media.find(rating.media_id)
s = Profile.find_by_subscriber_id(@m.subscriber_id)
@h_lang = Language.find_by_code(s.language)
@history[@m.title] = @h_lang.english
end
remarque: ces trouvailles avec id montre que vous n'utilisez pas les associations (has_many, belongs_to, ...) – tokland