# \[rails\] mostrare checkbox in collezioni ( e will\_paginate?)

**URL:** <https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587>\
**Category:** IT\
**Created:** [October 7, 2007, 5:39pm UTC](https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587 "2007-10-07T17:39:24Z")\
**Posts on this page:** 5\
**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:** [October 7, 2007, 5:39pm UTC](https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587/1 "2007-10-07T17:39:24Z")

</div>

Salve. Ho una tabella con una colonna booleana ‘visible’. Per esercizio  
sto cercando di paginarla mostrando un checkbox per ogni entry, checked  
o unchecked a seconda se visible Ã¨ true o false (questo controllo lo  
farÃ² dopo con un if, per ora mi limito a scrivere il checkbox). Per la  
paginazione sto usando will\_paginate.

In teoria, se uso un solo form per una collezione, passando oggetto[]  
all’helper del checkbox, questo dovrebbe venir scritto con dentro l’id.  
Ma invece mi esce un errore del tipo:

* * *

## ArgumentError object[] naming but object param and @object var don’t exist or don’t respond to id\_before\_type\_cast: nil

Il codice che sto usando nella view:

\<% form\_tag do%\>  
\<% @entries.each do |e| -%\>  
\<%= e.date -%\>  
  
\<%= e.title -%\>  
  
\<%= e.content -%\>  
  
\<%= check\_box( “e[]”,“visible”) -%\>  
  
  
  
\<% end -%\>  
\<%= submit\_tag %\>  
\<% end %\>

Ecco, qualcuno sa perchÃ© mi genera un errore? Forse c’entra  
will\_paginate?  
Inutile dire che senza la riga del checkbox, funziona tutto benone…

Hola!

---

<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:** [October 8, 2007, 10:16am UTC](https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587/2 "2007-10-08T10:16:29Z")

</div>

Luca R. wrote:

> Salve. Ho una tabella con una colonna booleana ‘visible’. Per esercizio  
> …  
> Il codice che sto usando nella view:
> 
> \<% form\_tag do%\>  
> \<% @entries.each do |e| -%\>  
> \<%= e.date -%\>  
>   
> \<%= e.title -%\>  
>   
> \<%= e.content -%\>  
>   
> \<%= check\_box( “e[]”,“visible”) -%\>  
>   
>   
>   
> \<% end -%\>  
> \<%= submit\_tag %\>  
> \<% end %\>
> 
> > …

Non ho tempo per verificare, ma puo’ darsi che check\_box si aspetti una  
variabile @e, che non trova.

Prova qualcosa tipo  
\<%= @e=e  
check\_box( “e[]”,“visible”) -%\>

Ciao  
Massimo

---

<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:** [October 8, 2007, 10:34am UTC](https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587/3 "2007-10-08T10:34:17Z")

</div>

Hai ragione, funziona!  
non ho capito bene la meccanica perÃ²…

1. Come mai nel resto del codice, ‘e’ viene rilevato e dentro check\_box  
no? Lo scope sembrerebbe il medesimo…

2. E come mai dopo aver salvato ‘e’ in @e, a check\_box passo ancora ‘e’  
e non @e? Infatti se passo @e mi restituisce un errore.

Quando hai tempo, e se hai voglia… 😛

Grazie ancora!

* * *

maner never wrote:

> Luca R. wrote:
> 
> > Salve. Ho una tabella con una colonna booleana ‘visible’. Per esercizio  
> > …  
> > Il codice che sto usando nella view:
> > 
> > \<% form\_tag do%\>  
> > \<% @entries.each do |e| -%\>  
> > \<%= e.date -%\>  
> >   
> > \<%= e.title -%\>  
> >   
> > \<%= e.content -%\>  
> >   
> > \<%= check\_box( “e[]”,“visible”) -%\>  
> >   
> >   
> >   
> > \<% end -%\>  
> > \<%= submit\_tag %\>  
> > \<% end %\>
> > 
> > > …
> 
> Non ho tempo per verificare, ma puo’ darsi che check\_box si aspetti una  
> variabile @e, che non trova.
> 
> Prova qualcosa tipo  
> \<%= @e=e  
> check\_box( “e[]”,“visible”) -%\>
> 
> Ciao  
> Massimo

---

<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:** [October 8, 2007, 11:09am UTC](https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587/4 "2007-10-08T11:09:14Z")

</div>

Grazie! Mi hai dato anche un ulteriore modo per capire un po’ di cose.  
Io arrivo da Javascript/ActionScript 2.0, e con Ruby non ho ancora molto  
feeling… 😛

Buona giornata!!!

maner never wrote:

> Luca R. wrote:
> 
> > Hai ragione, funziona!  
> > non ho capito bene la meccanica perÃ²…
> > 
> > 1. Come mai nel resto del codice, ‘e’ viene rilevato e dentro check\_box  
> > no? Lo scope sembrerebbe il medesimo…
> > 
> > 2. E come mai dopo aver salvato ‘e’ in @e, a check\_box passo ancora ‘e’  
> > e non @e? Infatti se passo @e mi restituisce un errore.
> > 
> > Quando hai tempo, e se hai voglia… 😛
> > 
> > Grazie ancora!
> 
> Alla funzione check\_box() non passi la variabile locale e , ma la  
> stringa “e[]”.  
> L’implementazione di check\_box() poi, suppone che esista una variabile  
> di istanza con lo stesso nome, ovvero @e.
> 
> Se guardi in ActionView::Helpers::FormHelper trovi:
> 
> def object  
> @object || (@template\_object.instance\_variable\_get("@#{@object\_name}")  
> rescue nil)  
> end  
> Da cui puoi vedere che @ e’ gia’ cablato e non lo devi passare  
> (altrimenti si raddoppia, e diventa @@e)

---

<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:** [October 8, 2007, 11:05am UTC](https://www.ruby-forum.com/t/rails-mostrare-checkbox-in-collezioni-e-will-paginate/116587/5 "2007-10-08T11:05:02Z")

</div>

Luca R. wrote:

> Hai ragione, funziona!  
> non ho capito bene la meccanica perÃ²…
> 
> 1. Come mai nel resto del codice, ‘e’ viene rilevato e dentro check\_box  
> no? Lo scope sembrerebbe il medesimo…
> 
> 2. E come mai dopo aver salvato ‘e’ in @e, a check\_box passo ancora ‘e’  
> e non @e? Infatti se passo @e mi restituisce un errore.
> 
> Quando hai tempo, e se hai voglia… 😛
> 
> Grazie ancora!

Alla funzione check\_box() non passi la variabile locale e , ma la  
stringa “e[]”.  
L’implementazione di check\_box() poi, suppone che esista una variabile  
di istanza con lo stesso nome, ovvero @e.

Se guardi in ActionView::Helpers::FormHelper trovi:

def object  
@object || (@template\_object.instance\_variable\_get("@#{@object\_name}")  
rescue nil)  
end  
Da cui puoi vedere che @ e’ gia’ cablato e non lo devi passare  
(altrimenti si raddoppia, e diventa @@e)
