@users.person.nameを名前で並べ替えるにはどうすればよいですか? (Ruby on Rails)
概要
@usersを名前のアルファベット順に並べ替えようとしています。どうすればいいでしょうか?
@users.person.name
編集: これを私が解決した方法は次のとおりです。 @users.sort! { |a、b| a.人物名 <=> b.人物名 }
ありがとう、num8er
解決策
ソリューションに関する観察を 1 つ。 #sort を使えば! #sort の代わりに、十分な理由が必要になります。 #sort! が必要な場合を除き、#sort を使用することをお勧めします。
次のコードを考えてみましょう。
1 test = %w(c a b)
2 p test.sort # => ['a', 'b', 'c']
3 p test # => ["c", "a", "b"]
4 p test.sort! # => ['a', 'b', 'c']
5 p test # => ['a', 'b', 'c']
5 行目で 3 行目とは異なる値が表示される理由がわからない場合は、#sort の使用を避けることをお勧めします。そうするまでは完全に。そうしないと、非常に見つけにくいバグが発生する可能性があります。