在不同的类上使用不同的身份验证密钥设计STI

时间:2012-08-14 07:52:35

标签: ruby-on-rails ruby-on-rails-3 devise mongoid sti

我有一个STI模型结构,其中超类是User,子类是Member和NonMember。我想只有一个会员和多个非会员发送电子邮件。对于例如使用电子邮件a@gmail.com,只能有一个成员对象,但同时我们可以为不同的子域提供多个NonMember和该电子邮件。

请告诉我如何解决这个问题,因为我很困难,我必须尽快解决这个问题。

1 个答案:

答案 0 :(得分: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