Metodo Find e ritorno di un numero intero

Ciao a tutti,

sviluppando un mio sistema di paginato avrei bisogno di capire con Rails
come trovare direttamente un valore intero dopo una query.

Es:
Ho bisogno di una query che recuperi il totale dei prodotti:
Product.find(:all, :select => ‘count(*) as tot’, :from => ‘products’)

Io avrei bisogno di avere @tot = valore_numerico_intero (es: @tot = 35)

E’ possibile? Qual’è il modo più elegante ed efficace per una cosa
simile?

Grazie mille.

Product.count

=> 35

2009/7/27 Cozza A. [email protected]

Product.find(:all, :select => ‘count(*) as tot’, :from => ‘products’)


Simone C.

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Nick: weppos | Skype: weppos

Sinceramente non ho ben compreso la tua stringa ma penso che ti serva
una cosa del tipo:

Product.count(:all,:conditions=>…)

Luigi

Dato che ti serve per la paginazione ti potrebbe essere utile questo
snippet di codice che ho scritto per lo stesso tuo motivo:

if not params[:pagina]==nil
@page=Integer(params[:pagina])
@offset=(@page-1)*20
else
@offset=0
end

@laws_count=Law.count(:conditions=>“public”)
@pages_number=(Float(@laws_count)/20).ceil #arrotondamento all’intero
superiore
if Integer(params[:pagina]) > @pages_number
redirect_to :action=>‘not_found’
else
@laws=Law.find(:all,:conditions=>‘public’,:order=>‘updated
desc’,:limit=>20,:offset=>@offset)
end

Luigi

Simone C. wrote:

Per la paginazione ti consiglio la GEM mislav-will_paginate.
Fa pi� o meno quello e molto altro.

– Simone
Ciao Weppos,

ho provato in primis will_paginate ma non ho capito come limitare il
numero di pagine linkate prima e dopo la pagina corrente.

tra me le mette tutte e diventa impossibile laddove si
abbiano decine e decine di pagine.

Es: ne vorrei solo 2 prima e dopo quella corrente (<prev 1 2 -3- 4 5
next>)

Grazie ancora.

Per la paginazione ti consiglio la GEM mislav-will_paginate.
Fa più o meno quello e molto altro.

– Simone

On Mon, Jul 27, 2009 at 5:02 PM, Luigi M. [email protected]
wrote:

@laws_count=Law.count(:conditions=>“public”)
Luigi

Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Simone C.

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Nick: weppos | Skype: weppos

Guarda la documentazione del metodo will_paginate all’interno di
/lib/will_paginate/view_helpers.
Offre diverse opzioni tra cui :inner_window e :outer_window che fanno al
caso tuo.

– Simone

2009/7/27 Yuri R. [email protected]

tra me le mette tutte e diventa impossibile laddove si
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Simone C.

Site & Blog: http://www.simonecarletti.com
Email: [email protected]
LinkedIn: http://linkedin.com/in/weppos
Nick: weppos | Skype: weppos