コンソールに入力した場合
u = User.first
u.friends(&map:username)
["Peter", "Mary", "Jane"]
でも誕生日も見せたいのですが、どうすればいいですか?私は試した
u.friends(&map:username, &map:birthday)
しかし、これは機能しません。
代替ブロック構文を使用できます。
u.friends.map{|f| [f.username, f.birthday]}
これは配列の配列を与えます。
u.friends.map{|f| "#{f.username} - #{f.birthday}"}
文字列の配列が得られます。そこからかなりのことができます。
試してみてください
u.friends.map {|friend| [friend.username, friend.birthday]}
&
構文は、基礎となるRubyメソッドの省略形です。
ActiveRecord> = 4の場合、次のように簡単に使用できます。
u.friends.pluck(:username, :birthday)