実行時にオブジェクト (ActiveRecord::Base のインスタンス) を拡張し、(関連付けを追加するために) クラス メソッドを呼び出したいと考えていますhas_many
。私の理想的なコードは次のようになります。
class User < ActiveRecord::Base
end
module Seller
has_many :bookings, :foreign_key => :seller_id
end
module Buyer
has_many :bookings, :foreign_key => :buyer_id
end
user = User.find(1)
user.extend Seller
user.bookings
モジュールをクラスに含めたくないことに注意してくださいUser
。すべてのユーザーオブジェクトではなく、単一のユーザーオブジェクトの動作を拡張したいのです。