Martin Catty wrote:
> Lily ^_^ a écrit :
>> Bon, voici les deux lignes :
>>
>> <%= @skillbar.skill1.name %> # Affiche le nom de skill1
>>
>> <%= @skillbar["skill1"].name %> # N'affiche rien
>>
>> <%= @skillbar[skill1].name %> # Renvoie "undefined local variable or
>> method"
>
> C'est plutôt skillbar.skill1[name]
skillbar.skill1[name] et @skillbar.skill1[name] ne fonctionne pas chez
moi.
@skillbar est l'objet que je récupère par son id (je suis dans la
page/action "show")
La classe skillbar prend skill1 comme attribut.
skill1 est un objet. il a pour un attribut "name".
Je chercher à afficher le "name" de skill1, contenu dans skillbar.
MAIS
J'ai besoin d'appeler dynamiquement skill1 car ça pourrait skill0 ou
skill2.
Peut-être que c'est plus clair avec ces infos.
Mais écrit avec la méthode de Julien ça marche (index = integer):
<%= @skillbar.send("skill"+index.to_s).name %> et
<%= @skillbar.try("skill"+index.to_s).name %>
> C'est clair qu'il n'y a pas de meilleure casse, mais généralement quand
on plonge dans un nouveau langage c'est mieux d'en suivre les habitudes
; ne serait-ce que pour ceux qui vont maintenir le code.
Je suis d'accord, je fais de mon mieux :)
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]
-~----------~----~----~----~------~----~------~--~---