2

スーパークラスがUserで、サブクラスがMemberとNonMemberであるSTIモデル構造があります。メールに1人のメンバーと複数の非メンバーが欲しいのですが。たとえば、電子メールa@gmail.comの場合、メンバーオブジェクトは1つしか存在できませんが、同時に、異なるサブドメインに対してその電子メールで複数の非メンバーを持つことができます。

私はそれに固執していて、私はこの問題にすぐに取り組む必要があるので、これの世話をする方法を教えてください。

4

1 に答える 1

1

ここでは、電子メールの一意性検証とともに STI 関係を示します。私はそれが役立つことを願っています!

class User < ActiveRecord::Base
end

class Member < User
 validates uniqueness_of :email
end

class NonMember < User
 validates_uniqueness_of :email, :scope => :subdomain
end
于 2012-08-14T08:08:43.480 に答える