Boucle sur des method

Bonjour,
juste je trouve plus comment faire une boucle avec “each” sur une array
de method.
J’ai un objet disons “maison” et j’aimerais faire une boucle dans ma vue
au lieu d’écrire plein de lignes pour afficher maison.reference,
maison.prix, maison.terrain, maison.nb_chambre…
Je sais qu’il existe une méthode pour faire marcher:

[“reference”, “prix”, “terrain”, “nb_chambre”].each do |methode|

<%= maison.methode %> <% end %>

un truc du genre maison.method(methode).
quelqu’un sais?

SVP Merci

La réponse est ici je pense :
http://softiesonrails.com/2007/8/15/ruby-101-methods-and-messages
C’est la méthode “send” qu’utilise d’ailleurs les views générées par
“ruby script/generate scaffold” pour accéder aux attributs d’un objet.

Donc dans ton cas :
<%= maison.send(methode) %>

Cheers,


Jean-Baptiste BARTH

Raph I. a écrit :

Hello Raph,

tu peux utiliser send:

<%= [:reference,:prix,:terrain].collect { |s|
“#{h(maison.send(s).to_s)}” }.join %>

Thibaut

http://evolvingworker.com