【发布时间】:2016-05-15 21:56:21
【问题描述】:
用户类中的给定关联:
has_many :followers, through: :follows_as_fallowable,
source: :user
它返回跟随给定用户的用户实例。但是当我开始深入挖掘时,我意识到我并不完全理解为什么这个关联(user.followers)返回用户对象。
基于什么?我知道它可以通过关联的名称或 class_name 哈希参数进行推断,但在这种情况下,这些实际上都不重要。
我没有 Follower 模型,也没有提供 class_name 属性。
源参数只是说它应该在连接表中按用户列搜索。
那么 Rails 是如何知道它应该从 Users 表中选择的呢?
编辑:
follow_as_followable 是 User 模型中的另一个关联:
has_many :follows_as_fallowable, class_name: 'Follow', as: :followable
【问题讨论】:
标签: ruby-on-rails associations has-many-through has-many