2010-04-19 7 views
0

Est-il possible de limiter les résultats d'un modèle associé?Utilisation de: limit et: order dans le modèle associé

Ce que je voulais faire:

<ul> 
     <% account.logins.slice(0,5).sort_by(&:login_date).reverse.each do |login| -%> 
      <li><%=h login.login_date.strftime("%d.%m.%Y")%></li> 
     <% end -%> 
</ul> 

Je suis en train d'obtenir les cinq dernières connexions du compte. Je ne peux pas sembler le faire avec account.logins (: limite => 5)

Merci!

Répondre

1

Essayez ceci:

account.logins.find(:all, :limit => 5, :order => 'login_date desc') 
+0

merci! Cela a fonctionné! – r2b2

+0

N'utilisez pas find (: all). Il sera obsolète avec Rails 3.0. –

+0

-1 pour la version obsolète – thewillcole

3

ou encore plus court:

account.logins.all(:limit => 5, :order => 'login_date DESC') 

=)

+0

+1 pour la version non obsolète –

+1

Je pense que cela est obsolète dans la version actuelle des rails. Vous devriez enchaîner les méthodes "limit" et "order" au lieu de les passer en arguments à la méthode "all". – thewillcole

+0

si vous avez remarqué, le dessus est répondu le 19 avril 2010 ... donc il y a peu de doute que c'est déprécié ;-) – Staelen

Questions connexes