Rails で、ActiveRecord ではなく LDAP データベースからユーザーを取得するモデルを作成しました。現在、ActiveRecord モデルを LDAP ベースのモデルと統合しようとしているので、いくつかの一般的な ActiveRecord メソッドをエミュレートするメソッドをモデルに記述しています。
私がエミュレートしようとしているメソッドの 1 つは、ActiveRecord の has_many スルー リレーションシップによって通常作成されるメソッドです。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
ます。) 何が欠けていますか?