私は関数users_by_roleを持っています
そしてそれは次の形式でデータを返します、
[
[#<Role id: 1, name: "Developer">,[#<User id:1, name: "Abc">,#<User id:2, name: "xyz">]]
[#<Role id: 2, name: "Tester">,[#<User id:11, name: "Abcd">,#<User id:12, name: "wxyz">]]
]
ここで、特定の役割のユーザーを選択したいと思います
使ってます、
project.users_by_role.select{|o| o.first.name == "Developer"}
ここで、projectはProjectオブジェクトです
すべての良い、コードは私にデータを返しますが、それに伴って私は次の警告を受け取ります
警告:ブロックパラメータに複数の値(1の場合は2)
また、私はこれを行うための最適化されたより短い方法を探しています
完全なコードスニペットは次のようになります。
project.users_by_role.select{|o| o.first.name == "Developer" }.collect{|e| e.last.map{|f| [f.id,f.firstname + ' ' + f.lastname]}}.flatten(1).uniq
上記のコードで、特定のロールのすべてのユーザー名を取得したいと思います。