を考える会:、カスタマイズにhas_manyの関連を理解する
has_many :followers, through: :follows_as_fallowable,
source: :user
それは、特定のユーザーに従うユーザーインスタンスを返します。しかし、私が深く掘り下げ始めたとき、なぜこの関連付け(user.followers)がUserオブジェクトを返すのかを完全には理解していないことに気付きました。
何に基づいてですか?私はそれがassociationまたはclass_nameハッシュ引数の名前で推論できることを知っていますが、これらのどちらも実際にはこの場合問題ではありません。 私はフォロワーモデルがなく、私はclass_name属性を提供していません。 ソースパラメータは、結合表のユーザー列で検索する必要があると言うだけです。
これで、RailsはUsersテーブルから選択する必要があることをどのように知っていますか?
EDIT:
follow_as_followableは、Userモデル内の別の団体です:
has_many :follows_as_fallowable, class_name: 'Follow', as: :followable
他のアソシエーションは、別のアソシエーションです(編集を参照)。 – avest