<% 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:
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…
potresti usare aggiungere a Neews una colonna che faccia da “counter
cache” e poi ordinare su quella, vedi qui:
<% i -= 1 %>
<% if i== 0 %>
<% break %>
<% end %>
<% end %>
fatti passare direttamente 5 oggetti (usando :limit => 5 nel find) e
butta tutte le istruzioni con i;
non costruire tu href nei link, usa piuttosto link_to.
poi x me l’importante è sempre che funzioni, e almeno questo funziona
se, una volta che funziona, sei pronto a farti fucilare piuttosto che
fare modifiche, fai pure; in caso contrario, forse non basta che
funzioni…
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…
(<%= neew.newsComments.size > %> commenti)
esce sempre (1 commenti), anche quando sono più di 1…non riesco a
capire perchè…grazie mille!
–
Posted via http://www.ruby-forum.com/.
non costruire tu href nei link, usa piuttosto link_to.
ci penso sempre a questa cosa, solo che poi siccome ad un certo punto mi
sembra più complicato uso href…perchè conviene usare link_to?
tra l’altro c’era Neews.table_name, che non mi funzionava, e invece
funziona mettendo neew al singolare;
adesso l’ordinamento è giusto, ma x qualche strano motivo mi sbaglia la
size quando stampo questo:
(<%= neew.newsComments.size > %> commenti)
esce sempre (1 commenti), anche quando sono più di 1…non riesco a
capire perchè…grazie mille!
count è il metodo che restituisce il numero di elementi in una
relazione has_many.
Lo trovi documentato piuttosto bene qui: http://railsapi.com/doc/rails-v2.3.4/ (è un sinonimo del metodo size).
In pratica è l’equivalente di Comment.count([‘neews.id = ?’, id della
news])
yess ora funziona!
…quando hai qualche minuto di tempo, se puoi spiegarmi bene il
funzionamento di
@neews_piu_commentate = Neew.find(:all, :limit => 5, :include => :comments, >:group => “#{Neew.table_name}.id”, :order => “count(#
{Comment.table_name}.id) DESC”)
mi faresti un altro grande favore…niente fretta naturalmente
non riesco a capire bene cosa succede, nè cos’è count…
Grazie ancora!
non costruire tu href nei link, usa piuttosto link_to.
ci penso sempre a questa cosa, solo che poi siccome ad un certo punto mi
sembra più complicato uso href…perchè conviene usare link_to?
In caso contrario (per il quale però ci vuole una buona ragione), puoi
comunque semplificare le cose creando delle custom routes e usare
quelle come parametro per link_to.
Allo stesso modo, se devi usare url strane con parecchi parametri, ti
conviene comunque creare delle custom routes, così non devi né
costruire la url manualmente né passare a link_to il nome del
controller né quello dell’action.
Perché tutto
ciò?
Primo perché così scrivi meno codice, e meno codice scrivi, meno bug
ti scappano; secondo, perché quando cambierai idea e stravolgerai
completamente tutto lo schema delle url, dovrai modificare solo il
file routes.rb, e non ogni singola view e ogni singolo controller
(per i redirect); terzo, perché l’unico caso in cui questo metodo non
va bene è il caso in cui le tue url non seguono uno schema logico, il
che di solito è un male, per cui se scopri che ti stai trovando molto
male con resources, custom routes e link_to, potrebbe essere un serio
indizio del fatto che forse c’è qualcosa nella tua applicazione che
merita di essere riconsiderato.
non costruire tu href nei link, usa piuttosto link_to.
ci penso sempre a questa cosa, solo che poi siccome ad un certo punto mi
sembra più complicato uso href…perchè conviene usare link_to?
La domanda dovrebbe essera al contrario: perchè non usare link_to che è
più semplice? Potrebbe valere la pena non usare link_to per un discorso
di prestazioni, all’interno di un ciclo consistente ma poi nella realtÃ
non capita mai perchè le view non dovrebbero mai essere molto grosse
quindi usa link_to e ringraziamo in coro gli helper di rails
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.