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