tutorial最終章をまとめたいと思います。最後まで見ていってください今回の章では本家Twitterでも実装されているフォロー機能を実装していきます。今回のように多対多の場合は中間テーブルというのを作成します。(前回やっていた投稿機能は1対多でした。)なぜかといいますと、わざわざfollowerモデルを作り、そこに再びユーザーの情報を保存するのは無駄が多いからです。その為、フォローしたユーザーのid、フォローされたユーザーのidのみを保存するテーブルを作成します。これをもとにモデルを作成します。db:migrate続いてuser/relationshipsの関連付けを行います。投稿機能の時は以下のように記述しました。:userしかし、今回は作成したモデル名がrelationshipsである為、active_relationshipと記述してもrailsは見つけてくれません。その為、クラス名を明示する必要があります。belongs_toも投稿機能の時はmicropostにuser_idが含まれていたのであのような記述で大丈夫でしたが、今回はフォローするユーザーをfollowed_idから特定しなければならないのでこれも明示する必要があります。以上より、下記のようになります。"User"次にfollowingとfollowerの実装をします。throughを使います。:followedfollowedでなく、followingを使ったのは複数形にした時違和感が出ないようにする為です。フォロワーについても同じように実装します。:follower次にインターフェイスを作成していきます。followingとfollowerのそれぞれの一覧を表すページを作ります。ルーティングは以下のようになります。endendusersの内側に入れることによってusers/1/followerのようなurlを作成することができます。次にfollowing,followerの数を表示するパーシャルを作成します。</a></div>@user.following(followers).countでそれぞれの数をカウントしています。このパーシャルをホームページに差し込みます。次にfollow,unfollowボタンの実装をします。%>また、followとunfollowの壁画するには新たなルーティングを実装する必要が出てきます。only:[:create、destory]次にパーシャルを作成します。%>_follow.html.erbは新たなリレーションシップを作成し、_unfollow.html.erbはfollowed_idからフォローしているユーザーを探し出し、削除しています。次にfollowing,followersアクション,ビューを実装していきます。</div></div>followers、followingの大まかな枠組みは同じであるため作成するviewは1つで変数で表示を変えています。最後にホームページに自身とフォロワーのマイクロポストを表示するようにします。上記を満たすsql文は以下のようになります。id>whereの後に続く文はフォロワーに含まれているか、自分自身のidという意味です。よって次のようになります。following_ids,id)しかし、これだとデータが膨大になった時に動作が遅くなってしまうので、リファクタリングする必要があります。疑問符に挿入する値を予め明記することを意識したリファクタリングすると以下のようになります。user_id:id")これで完成です。次の投稿:webページってどうやって表示されるの?コメントを残すコメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。WordPress.。