ホームページの1つのログインフォームから、顧客、企業、ベンダーの3つのユーザータイプにログインする必要があるシステムがあります。
http://github.com/binarylogic/authlogic_exampleにあるAuthLogicのサンプルアプリに従って機能する1つのユーザーテーブルを作成しました。現在「顧客」、「会社」、または「ベンダー」のいずれかを含む「ユーザータイプ」というフィールドを追加しました。
注:各ユーザータイプには多くの異なるフィールドが含まれているため、単一テーブル継承が最善の方法であるかどうかはわかりません(この結論が無効な場合は修正を歓迎します)。
これは、3つのタイプのそれぞれがユーザーレコードで「タグ付け」されているポリモーフィックな関連付けですか?UserテーブルとユーザータイプCustomer、Company、Vendorの間に適切な関係を持たせるために、モデルはどのように見える必要がありますか?
どうもありがとう!
- - - アップデート - - -
現在の設定:
#User model
class User < ActiveRecord::Base
acts_as_authentic
belongs_to :authenticable, :polymorphic => true
end
#Customer model (Company and Vendor models are similar)
class Customer < ActiveRecord::Base
has_many :users, :as => :authenticable
acts_as_authentic
end
これはそれらを設定するための有効な方法ですか?