2010-01-13 7 views
5

Je me trouve avoir besoin de cela. En supposant que le chariot est un modèle qui a une liste d'utilisateurs.Rails index d'une association

def index_of_item 
cart.users.each_with_index do |u, i| 
    if u == current_user 
    return i 
end 
end 

Quel est un moyen plus simple d'obtenir l'index d'une association comme celle-ci?

Répondre

10

La méthode index sur Array fait la même chose que votre méthode index_of_item par exemple.

cart.users.index(current_user) 

Renvoie l'index du premier objet dans le tableau de == à obj. Renvoie nil si aucune correspondance n'est trouvée.

+0

J'ai utilisé find_index, mais il semble que ceux-ci font la même chose. Merci! – cmaughan

+0

Oui, on dirait qu'à partir de 1.8.7 find_index a été ajouté à Enumerable et Array # index est maintenant juste un alias à cela. – mikej

Questions connexes