1
J'ai le code suivant dans un modèle ERB:Variable locale dans la boucle
<% ['foo', 'bar'].each do |var| %>
<%= previous %>
<% previous = "#{var}" %>
<% end %>
je me attends à la sortie foo
, mais il sort rien, previous
est toujours nil
. previous
n'est pas défini en dehors de la boucle, la première affectation se produit après la fin de la première boucle.
Voilà comment je suis rendu le modèle:
f.write ERB.new(File.read(node)).result(namespace.instance_eval { binding })
Qu'est-ce que je fais mal?
qui a résolu, merci! –
Vous avez eu un problème de portée et le problème que vous avez rencontré était un bug de syntaxe –