2010-01-22 4 views
4

Dans mon modèle de projetcommande paginate ne fonctionne pas lorsque vous utilisez find_all_by_completed (false)

def incomplete 
    @clients = current_user.clients.find_all_by_completed(false).paginate 
    (:page => params[:page], :per_page => 10, :order => 'started_on DESC') 
    end 

Pour une raison quelconque, il ne commande pas started_on descendante. Cependant la commande fonctionne dans une autre méthode

def all 
@clients = current_user.clients.paginate(:page => params[:page], :per_page => 25, :order => 'started_on DESC') 
end 

Je suppose donc que l'aide est find_all_by_completed jetant paginate. J'utilise will-paginate btw. De l'aide?

Répondre

4

Essayez de passer la condition explicitement:

@clients = current_user.clients.paginate(
    :conditions => {:completed => false}, 
    :page => params[:page], :per_page => 10, 
    :order => 'started_on DESC') 
+0

Cool, cela a fonctionné. Merci. –

+1

Aussi, regardez dans les portées nommées, de cette façon vous pouvez faire: 'current_user.clients.completed.paginate (...)'. – jonnii

+1

Bon point. Une fois qu'une condition fonctionne pour moi, je la ramène généralement à une portée si j'ai l'intention de l'utiliser plus d'une fois. –

Questions connexes