Bonjour,
Je souhaiterais afficher des données dans un tableau en HTML de la manière suivante :
Je dispose d'un tableau contenant des tables de hash :
Intégration dans la vue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part @personnes = [{"nom" => "toto", "age" => "8", "ville" => " a la ferme"}, {"nom" => "donald", "age" => "40", "ville" => "New York"} ]
Mon problème est le suivant : mon tableau est bien rempli comme il faut, mais en plus du tableau créé, la vue m'affiche le code tableau récupéré du controleur, à savoir : [{"nom" => "toto", "age" => "8", "ville" => " a la ferme"}, {"nom" => "donald", "age" => "40", "ville" => "New York"} ]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <table> <tr> <th>Nom</th> <th>Age</th> <th>Ville</th> </tr> <%= @personnes.each do |personne|%> <tr> <td>personne["nom"] <td>personne["age"] <td>personne["ville"] </tr> <% end %> </table>
Je pense que c'est à cause de l'utilisation du : @personne.each. A mon avis, rails commence à l'interpréter comme un affichage d'une variable et l'affiche, puis il voit l'utilisation de la méthode each et commence à remplir le tableau. Je ne sais pas si ma théorie est juste ou non. Quelqu'un saurait-il comment éviter d'avoir le code du tableau récupéré dans lecontroleur qui s'affiche sur la vue, car ce n'est pas très joli ! Merci
EDIT
C'est bon, j'ai résolu mon problème. j'écris ici ma solution, au cas où quelqu'un en aurait besoin.
j'ai simplement changé la manière de parcourir le tableau :
Notez que dans la nouvelle version de mon "parcours" du tableau, j'ai enlevé le "=" de la balise ruby !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <table> <tr> <th>Nom</th> <th>Age</th> <th>Ville</th> </tr> <% for personne in @personnes%> <tr> <td>personne["nom"] <td>personne["age"] <td>personne["ville"] </tr> <% end %> </table>
Merci à ceux qui ont pris le temps de lire mon problème, même s'ils n'ont pas su d'où venait l'erreur !
Partager