/ / Ordinamento alfabetico degli oggetti di raccolta secondo il metodo del modello personalizzato: ruby-on-rails, ordinamento, metodi, raccolte, modelli

Ordinamento alfabetico degli oggetti di raccolta secondo il metodo del modello personalizzato: ruby-on-rails, ordinamento, metodi, collezioni, modelli

Ho un metodo nel mio User modello chiamato display_name. Nel mio controller voglio ordinare tutto il User oggetti da loro display_name in ordine alfabetico. display_name restituisce una stringa, come faccio a fare questo?

Utente

  def display_name
if !addressbook.b_company.nil?
if addressbook.b_company.downcase[0..3] == "the "
addressbook.b_company[4..-1]
else
addressbook.b_company
end
else
"#{addressbook.b_lastname}, #{addressbook.b_firstname}"
end
end

risposte:

1 per risposta № 1

Uso sort_by e passa il tuo metodo:

@users.sort_by(&:display_name).each do |user|
# your code here
end