Q&A
###前提・実現したいこと
rails4でtwitterみたいなシステムを作っています。
フォロー機能を実装したいのですがコードの理解ができません。
###発生している問題・エラーメッセージ
###ソースコード
user.rb
class User < ActiveRecord::Base has_many :active_relationships,class_name: "Relationship", foreign_key: "follower_id", dependent: :destroy has_many :passive_relationships, class_name: "Relationship", foreign_key: "following_id", dependent: :destroy has_many :following, through: :active_relationships, source: :following has_many :followers, through: :passive_relationships, source: :follower end
relationship.rb
class Relationship < ActiveRecord::Base belongs_to :follower, class_name: "User" belongs_to :following, class_name: "User" end
これはrails tutorialを見て少し変えて自分で書いたコードなんですが、
最初の
user.rb
class User < ActiveRecord::Base has_many :active_relationships,class_name: "Relationship", foreign_key: "follower_id", dependent: :destroy end
このコードは、1人のユーザーがたくさんのfollowerがいるからhas_manyであるというのは理解できるのですが、
それに対する、
relationship.rb
class Relationship < ActiveRecord::Base belongs_to :follower, class_name: "User" end
このコードがなぜbelongs_to :follower
なのかがよくわかりません。
どの視点から見たらbelongs_toになるのでしょうか。
所属しているのはuserモデルのどこにあるfollowerなのでしょうか。
その他も解説してくださると嬉しいです。
こちらの質問が他のユーザーから「過去の低評価」という指摘を受けました。
回答1件
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
こちらの回答が複数のユーザーから「過去の低評価」という指摘を受けました。
退会済みユーザー
2016/02/24 03:56 編集