followうんぬん
Railsチュートリアル14章をやっていて、followという単語の変化形がどのような意味で使われているかが分かりにくいと感じたので、整理しようと思う(僕だけかもしれないけど)。
この分かりにくさは、単に英語の文法的な話だけでなく、(世間一般の)慣習的な話が絡んでくることから生じていると思う。
よって、能動とか受動、分詞といった英文法を理解できていても、頭に?が浮かぶことになる。
followerとは何か?
followerはユーザーをフォローしている人である。
AがBをフォローしている場合、Aのことを指す。
A follows B
である。
しかし、twitterの話題とかで「フォロワー」という言葉を使った時、AとBどちらのことを言っているのだろう。
「フォロワーに〇〇さんっていう人がいて〜」なんて言った場合に、上の意味を使って主体であるAを指すとしたら、自分のことを「フォロワー」と言っていることになる。
つまり、この文脈ではBを指すことになる。
世間一般的な「フォロワー」の使い方としては、こちらがスタンダードなんじゃないかと思う。
しかし、チュートリアルのフォロー機能ではもともとの意味でAを指している。
よって、active_relationship.follower(フォロワーを返す)は、主体としてのAを返す。
followedとは何か?
followedとは、followerの逆で、フォローされているBのことである。
B is followed by A
である。
よって、active_relationship.followed(フォローしているユーザーを返す)は、Bを返す。
「フォローしている」って書いてあるんだから、Aを指すんじゃないの?と思うかもしれないが、「Aがフォローしているユーザー」という意味だからBになる。
結論
結局のところ、世間一般的な慣習として使われている「フォロワー」という言葉を無視して、英文法的に考えればいいだけの話である。
現在分詞を使って
following user
と書けば、userはAのことであり、"follower"である。
現在分詞は能動関係を表すのだから、当然といえば当然である。
過去分詞を使って
followed user
と書けば、userはBのことである。
過去分詞は受動関係を表すのだから、やはりこれも当然である。