【发布时间】:2012-07-26 15:59:27
【问题描述】:
在 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。)我错过了什么?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord ruby-on-rails-3.2