序文
うーん、なかなか本調子に戻らない。
やることいっぱい残ってるのにー。
進捗
- 第14章 ユーザーをフォローする
- 14.1 Relationshipモデル
コード実装部分(一部)
/sample_app/app/models/user.rb
class User < ApplicationRecord (中略) # Userは多数の"フォローしている関係"を持っている # フォローしている関係モデルはRelationshipクラスであらわされる # follower_idが外部キーとなってユーザーモデルとつながっている # ユーザーモデルが削除されると"フォローしている関係"も破棄される has_many :active_relationships, class_name: "Relationship", foreign_key: "follower_id", dependent: :destroy # UserはActiveRelationship(フォローしている関係)を通じて # 多数の「フォロー相手」を持っている # 「フォロー相手」はfollowed_idでつながっている has_many :following, through: :active_relationships, source: :followed # Userは多数の"フォローされている関係"を持っている # フォローされている関係モデルはRelationshipクラスであらわされる # followed_idが外部キーとなってユーザーモデルとつながっている # ユーザーモデルが削除されると"フォローされている関係"も破棄される has_many :passive_relationships, class_name: "Relationship", foreign_key: "followed_id", dependent: :destroy # UserはPassiveRelationship(フォローされている関係)を通じて # 多数の「フォローされている相手」を持っている # 「フォローされている相手」はfollower_idでつながっている has_many :followers, through: :passive_relationships, source: :follower (中略) # ユーザーをフォローする def follow(other_user) following << other_user end # ユーザーをフォロー解除する def unfollow(other_user) active_relationships.find_by(followed_id: other_user.id).destroy end # 現在のユーザーがフォローしてたらtrueを返す def following?(other_user) following.include?(other_user) end end
GitHub
実行結果
特になし
感想
follower、followed、followingあたりの用語で混乱をきたしていたので、整理のために14章を最初から読み直す。
案の定、解釈を間違えてコメントを書いている部分があった。
整理。
follower…フォロー元。それぞれのユーザーからみた場合は「ファン」。「Aのフォロワー」と言った場合は「A"を"フォローしている人」。すなわちAのファン。(「A"が"フォローしている人」ではない)
followed…フォロー先。それぞれのユーザーからみた場合は「神・カリスマ・アイドル」(適当な言葉がわからん…)。「Aのフォロー(ド)」と言った場合は「A"に"フォローされている人」。すなわちAのカリスマ。(「A"が"フォローされている人」ではない)
following…これもフォロー先。followedを複数形にするとfollowedsみたいな気持ち悪い形になるので代替として用いる。
すごくレベルの低い確認をしている気がする。
カロリーメイトください。

- 出版社/メーカー: 大塚製薬
- メディア: 食品&飲料
- この商品を含むブログを見る
今日のunityroom
すたクラフト | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
昨日と同じ人です。
ちょっとレミングス的な。
チュートリアル的なのがあるといいのかなーとか思ったりしますが、この人はなんかあえてそういうの作ってない気がします。