rails:679
From: Hiroshi Takagi <gollum@h...>
Date: Wed, 16 Nov 2005 21:40:38 +0900
Subject: [rails:679] 同じ内容のbelongs_to を 複数の model に
高木宏です。 (正弘さんがいらっしゃるのでこれからはフルネームで :-) まったく同じ内容の belongs_to を 複数の model に入れるのはどういう方法があるでしょうか。 DBで業務アプリケーションを作る時に、我流ですが、 まず、users テーブルに id, name, password などを定義・登録し、 利用ユーザーにログインさせたあと、 ユーザーのテーブルのレコードへのアクションを記録するために、 deleted boolean default false, created_by_uid integer REFERENCES users (id), updated_by_uid integer REFERENCES users (id), deleted_by_uid integer REFERENCES users (id), の4 つのカラムは、必ず、各テーブルに定義しています。 (マスター系のテーブルはレコードは 決して削除せずに削除フラグ(deleted)をtrue にする。) 上は PostgreSQL での定義例です。 こういう定義をすると users に対して参照定義をしますので、 各model クラスには、 belongs_to :created_by, :class_name => "User", :foreign_key => "created_by_uid" belongs_to :updated_by, :class_name => "User", :foreign_key => "updated_by_uid" belongs_to :deleted_by, :class_name => "User", :foreign_key => "deleted_by_uid" というbelongs_to を三行必ず定義することにります。 これって、この三行の内容を別に定義しておいて、 各 model_class.rb に共通定義する方法はないでしょうか。 (マスターテーブルのアプリを書いててあきてきました(^^;; DRY に反するし…。) Ruby とつきあいが長くなってきたくせに いまだにMix-in, 継承あたりがよくわかっておりませんで :-( アドバイスよろしくお願いします。 -- Hiroshi Takagi <gollum@h...> -- 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... ]