# Nascondere codice nei templates?

**URL:** <https://www.ruby-forum.com/t/nascondere-codice-nei-templates/109487>\
**Category:** IT\
**Created:** [July 15, 2007, 6:04pm UTC](https://www.ruby-forum.com/t/nascondere-codice-nei-templates/109487 "2007-07-15T18:04:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stratboy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/838e76/32.png) [@stratboy](https://www.ruby-forum.com/u/stratboy)\
**Post date:** [July 15, 2007, 6:04pm UTC](https://www.ruby-forum.com/t/nascondere-codice-nei-templates/109487/1 "2007-07-15T18:04:03Z")

</div>

Salve! Problema da super principiante: supponiamo che in un template  
(richiamato a sua volta da un layout via yield) ho del codice cosÃ¬:

\<% @lista.each\_index do |i| -%\>  
\<%= ‘**’+@lista[i]+’**’ + h(’\>\> index:’)+i.to\_s %\>  
  
\<% end %\>

Supponiamo ora che abbia scoperto che si puÃ² fare di meglio:

\<% @lista.each\_with\_index do |item,i| -%\>  
\<%= ‘ **’+item+’** ’ + h(’\>\> index:’)+i.to\_s %\>  
  
\<% end %\>

PerÃ² mi voglio tenere la prima versione nel template, per tenerne  
traccia, ma senza farla eseguire. In altre parole voglio commentarla. I  
commenti html non funziano (commentano i risultati html, ma la  
funzione viene eseguita), e neanche i commenti ruby #. Come faccio? Si  
puÃ²?

Grazie!

---

<div class="post-metadata">

**Author:** ![stratboy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/838e76/32.png) [@stratboy](https://www.ruby-forum.com/u/stratboy)\
**Post date:** [July 15, 2007, 6:12pm UTC](https://www.ruby-forum.com/t/nascondere-codice-nei-templates/109487/2 "2007-07-15T18:12:57Z")

</div>

Il 15/07/07, Luca R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> Però mi voglio tenere la prima versione nel template, per tenerne  
> traccia, ma senza farla eseguire. In altre parole voglio commentarla. I  
> commenti html non funziano (commentano i risultati html, ma la  
> funzione viene eseguita), e neanche i commenti ruby #. Come faccio? Si  
> può?

Credo tu possa fare  
\<%

# comment

%\>  
Questo perché il codice dentro le \<% %\> viene valutato come se fosse ruby,  
quindi al suo interno il # funziona.  
Poi esisterà sicuramente una soluzione migliore :).

Grazie!

di niente!  
Matteo

---

<div class="post-metadata">

**Author:** ![stratboy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/838e76/32.png) [@stratboy](https://www.ruby-forum.com/u/stratboy)\
**Post date:** [July 15, 2007, 6:21pm UTC](https://www.ruby-forum.com/t/nascondere-codice-nei-templates/109487/3 "2007-07-15T18:21:57Z")

</div>

On 7/15/07, Luca R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> \<% @lista.each\_with\_index do |item,i| -%\>  
> \<%= ‘ **’+item+‘** ’ + h(‘\>\> index:’)+i.to\_s %\>  
>   
> \<% end %\>
> 
> Però mi voglio tenere la prima versione nel template, per tenerne  
> traccia, ma senza farla eseguire. In altre parole voglio commentarla.

Ti basta inserire un # subito dopo il tag di apertura:

\<%# @lista.each\_index do |i| -%\>  
\<%#= ‘**’+@lista[i]+‘**’ + h(‘\>\> index:’)+i.to\_s %\>  
  
\<%# end %\>

Oppure se si stratta di una porzione di codice più larga, puoi usare la  
coppia begin/end, assicurandoti che siano entrambi all’inizio della  
riga:

\<%  
=begin %\>  
…  
…  
…  
\<%  
=end %\>

Il codice all’interno di \<% e %\> è codice ruby, per cui puoi utilizzare i  
commenti proprio come faresti in un normale programma.

Ciao,  
Antonio

---

<div class="post-metadata">

**Author:** ![stratboy](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/838e76/32.png) [@stratboy](https://www.ruby-forum.com/u/stratboy)\
**Post date:** [July 15, 2007, 6:28pm UTC](https://www.ruby-forum.com/t/nascondere-codice-nei-templates/109487/4 "2007-07-15T18:28:49Z")

</div>

Grazie 1000 a tutti e 2!
