rails:681
From: Jun Mukai <mukai@j...>
Date: Wed, 16 Nov 2005 23:52:13 +0900
Subject: [rails:681] Re: 同じ内容のbelongs_to を 複数の model に
向井という者です。 > まったく同じ内容の belongs_to を > 複数の model に入れるのはどういう方法があるでしょうか。 Module#included が使えるのではないでしょうか。 たとえば、次のようなコードが考えられると思います。 module BelongsToUser def self.included(c) c.belongs_to :created_by, :class_name => "User", :foreign_key => "created_by_uid" c.belongs_to :updated_by, :class_name => "User", :foreign_key => "updated_by_uid" c.belongs_to :deleted_by, :class_name => "User", :foreign_key => "deleted_by_uid" end end class MyData < ActiveRecord::Base include BelongsToUser end BelongsToUser が include されたときに included が呼ばれ、引数として include したクラスオブジェクト(この場合は MyData)が入ります。 ほかにもモジュール関数なんかを駆使する方法が考えられると思いますが、 included を使うのが一番楽なのではないかと思います。 -- ML: rails@r... 使い方: http://QuickML.com/ Web Site: http://wiki.fdiary.net/rails/ ML Archives: http://www.fdiary.net/ml/rails/
679 2005-11-16 13:40 [gollum@h... ] 同じ内容のbelongs_to を 複数の model に -> 681 2005-11-16 15:52 ┗[mukai@j... ] 683 2005-11-16 17:56 ┗[gollum@h... ]