在 Rails 中,我创建了一个从 LDAP 数据库而不是 ActiveRecord 检索用户的模型。现在我正在尝试将我的 ActiveRecord 模型与基于 LDAP 的模型集成,因此我正在我的模型中编写方法来模拟一些常见的 ActiveRecord 方法。
我试图模仿的方法之一是通常由 has_many 通过 ActiveRecord 上的关系创建的方法。在 ActiveRecord 中,这种关系将允许以下内容:
user = User.first
groups = user.groups # == Array of Groups
groups << Group.create(name: "Test") # How does Rails allow this?
Rails 究竟是如何允许这样做的?我尝试将方法动态分配给 user.groups 返回的数组实例,但似乎没有任何方法可以让这些方法知道数组是从哪个用户记录创建的。(所以他们可以分配user_id
新的关系记录。)我错过了什么?