Ich arbeite an einem Skript, das eine Liste von Elementen zu einem Hash schreiben soll, aber aus irgendeinem Grund ist es nur das letzte Element in der Schleife in den Hash setzen ... Ich habe gearbeitet Dieses Skript den ganzen Tag, also bin ich mir ziemlich sicher, dass es etwas ist, das ich gerade vermisse.Ruby Schleife Probleme
Hier ist das Skript
@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
Es gibt mehrere Datensätze in der Tabelle MediaRating so weiß ich es, etwas zu tun hat mit, wie meine Schleife ist. Vielen Dank im Voraus für die Hilfe!
Arbeitscode:
@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
Seite Anmerkung: diese Funde mit der ID zeigt, dass Sie sich nicht mit Assoziationen (has_many, belongs_to, ...) – tokland