# Ordinamento di una tabella x colonne

**URL:** <https://www.ruby-forum.com/t/ordinamento-di-una-tabella-x-colonne/120770>\
**Category:** IT\
**Created:** [November 20, 2007, 2:41pm UTC](https://www.ruby-forum.com/t/ordinamento-di-una-tabella-x-colonne/120770 "2007-11-20T14:41:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![stefanof](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/aeb1de/32.png) [@stefanof](https://www.ruby-forum.com/u/stefanof)\
**Post date:** [November 20, 2007, 2:41pm UTC](https://www.ruby-forum.com/t/ordinamento-di-una-tabella-x-colonne/120770/1 "2007-11-20T14:41:28Z")

</div>

Ciao a tutti,  
sono un neo-neofita di Ruby… mi piacerebbe imparare ad usarlo sempre  
meglio, ma per fare questo non bastano i libri, quindi passo ai forum…  
linfa vitale…  
ed eccomi al mio primo post…

in breve…

come faccio a passare una variabile da un metodo ad un altro?  
cioÃ¨:

nel controller ho:

def index  
list  
render :action =\> ‘list’  
end  
def list  
@wines = Wine.list\_all(@params[:page])  
end

e nel modello

def self.list\_all(page, orderBy)  
paginate(:all, :page =\> page, :per\_page =\> 10, :order =\>  
@params[:orderBy])  
end

(voglio ordinare la mia tabella in base ai nomi delle colonne che gli  
passo)

nella vista ho

```
    <%= link_to_image "order", {:action => "list", :params =>

```

{:orderBy =\> “year”}}%\>

e mi dice  
“You have a nil object when you didn’t expect it!  
You might have expected an instance of Array.  
The error occurred while evaluating nil.[]” nel modello

vorrei sapere come fare a passare il valore :orderBy = “names” da index  
a list nel controller…

e se sbaglio altro… please 🙂

---

<div class="post-metadata">

**Author:** ![stefanof](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/aeb1de/32.png) [@stefanof](https://www.ruby-forum.com/u/stefanof)\
**Post date:** [November 20, 2007, 10:18pm UTC](https://www.ruby-forum.com/t/ordinamento-di-una-tabella-x-colonne/120770/2 "2007-11-20T22:18:43Z")

</div>

trovato…  
nel controller inserire:

def list  
@wines = Wine.list\_all(@params[:page], @params[:orderBy])  
end

e nel modello:

def self.list\_all(page, orderBy)  
paginate(:all, :page =\> page, :per\_page =\> 10, :order =\>  
orderBy)  
end

funge…  
🙂

---

<div class="post-metadata">

**Author:** ![stefanof](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/aeb1de/32.png) [@stefanof](https://www.ruby-forum.com/u/stefanof)\
**Post date:** [November 21, 2007, 10:24am UTC](https://www.ruby-forum.com/t/ordinamento-di-una-tabella-x-colonne/120770/3 "2007-11-21T10:24:55Z")

</div>

Nei controller dovresti usare params invece che @params, perché deprecato.
