[ruby-it] Ordinare risultati find in base a campo esterno

Giorgio Arcella a-mj a hotmail.it
Mer 2 Dic 2009 16:00:16 CET


Buondė!
Ho due quesiti da proporre!
il primo, molto semplice:
c'č un modo pių UMANO di scrivere questo ciclo?

><h1>News pių commentate</h1>
>  <% i = 5 %>
>  <% for neew in @neews_piu_commentate %>
>    <p><b><a href="neews/<%= neew.id%>">
>                        <%=h neew.titolo %>
>                      </a></b> 
>                      <span style="font-size: 10px; font-style: italic;">(<%= >neew.comments.size >%> commenti)
>                      </span>
>               </p>
>    <% i -= 1 %>
>    <% if i== 0 %>
>      <% break %>
>    <% end %>
>  <% end %>

so che fa schifo, ma la programmazione non č il mio pane quotidiano(e
poi x me l'importante č sempre che funzioni, e almeno questo funziona
;p)

secondo:
ho il modello neews, che has_many :comments, e il modello comments, che
belongs_to :neew
In quel ciclo di prima io stamperei a video le prime 5 news pių
commentate, (ovvero che hanno neew.comments.size maggiore). Il problema
č come ordinare l'array da cui tirar fuori i commenti in base al numero
di commenti presente nella news...
nella index del controller delle news le ho provate tutte:
> @neews_piu_commentate = Neew.find(:all, :order => 
> '@neews_piu_commentate.comments.size DESC')
oppure
> @neews_piu_commentate = Neew.find(:all, :include => .comments, :order => 
> 'newsComments.size DESC')
oppure
> @neews_piu_commentate = Neew.find(:all, :order => 'comments.size DESC')

ma non funziona proprio!
Se qualcuno sa darmi una mano grazie mille!
Giorgio
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list