「find_all_by...」メソッドを User.all で取得済みのレコードに適用したいと考えています。これは可能ですか?この時点で、「undefined method `find_all_by_type」エラーが発生します。
rows = User.all
rows.each do |r|
result = rows.find_all_by_type(r.type)
end
「find_all_by...」メソッドを User.all で取得済みのレコードに適用したいと考えています。これは可能ですか?この時点で、「undefined method `find_all_by_type」エラーが発生します。
rows = User.all
rows.each do |r|
result = rows.find_all_by_type(r.type)
end
Enumerable
レコードが読み込まれると、コレクションに対して任意のメソッドを使用できます。ここで探しているのは次のselect
とおりです。
rows = User.all
rows.each do |r|
result = rows.select {|row| row.type == r.type}
end
ここで実際に何をしようとしているのだろうか。これが擬似コードまたは単純化された例である場合、おそらく上記のコードを適用できます。ただし、これを使用したほうがよい場合があります。
rows = User.all.group_by(&:type)