Ruby Hash: impossible de convertir une Chaîne en un Entier
Je suis nouveau sur le Ruby, et je vais avoir quelques problèmes avec les tables de hachage.
J'ai XML retourné à partir de l'API YouTube que j'ai converti en une valeur de hachage. Voici le hachage retourné par Hachage.from_xml(): http://pastebin.com/9xxE6iXU
Je suis en train de saisir certains éléments de la table de hachage pour chaque résultat, tels que le titre, le lien, l'auteur, etc. Chaque fois que j'essaie de faire une boucle par le hachage ou de s'agripper à un élément spécifique, je reçois un "ne peut pas convertir une Chaîne en un nombre Entier d'erreur".
Voici le code que j'utilise pour la boucle:
@data["feed"]["entry"]["title"].each do |key, value|
"<p>"+key+" "+value+"</p>"
end
J'ai aussi essayé de l'accaparement des éléments spécifiques tels que @data["nourrir"]["entrée"]["title"][0].
Comment puis-je faire une boucle par le hachage et de saisir des éléments spécifiques?
Oui, vous avez raison. Après avoir travaillé avec ce que j'ai décidé de parser le xml en premier.
OriginalL'auteur Jarred | 2011-11-17
Vous devez vous connecter pour publier un commentaire.
Qui se passe parce que
@data["feed"]["entry"]
est tableau de hachages:Chaque élément de hachage à l'intérieur de ce tableau est "id", "catégorie", "titre", etc. des valeurs.
Pour saisir chaque titre, essayez d'utiliser l'extrait de code suivant:
Si vous voulez prendre élément spécifique, vous pouvez utiliser [], comme je l'ai montrer avec
title
, n'est-ce pas?C'est ce que j'obtiens lorsque j'utilise le dessus de la boucle: pastebin.com/z9WkscFm
Ok, regardez ceci: je prends votre code à partir d'ici, pastebin.com/9xxE6iXU et de le rendre aussi @données de hachage dans mon exemple ci-dessus. Après que ce que je reçois semble à la liste de tous les titres: pastebin.com/DYHtP6kM
OriginalL'auteur WarHog