【发布时间】:2011-04-24 21:28:31
【问题描述】:
我有一个用户类和一个联系人,其中联系人是用户的子类。这两个类都存储在用户表中。
我的联系人可能有也可能没有电子邮件地址,而我的用户需要一个电子邮件地址(我的用户模型定义中有validates_presence_of :email)。
我的理由是,联系人是由用户输入的,以后可能会在他们声明其个人资料时成为用户。
- 首先,可以定义我的 用户和联系人是我做的吗?
- 二、如何跳过
validate_presence_of email在我的联系人模型中进行验证?
(我在 Rails 2.3.8 上)
谢谢!
更新:
似乎单表继承是 专为满足我的需要而设计
跳过验证的正确方法 我的联系人的电子邮件的存在 表格如下:
validates_presence_of :email, :unless => Proc.new {|user| user.type == "Contact"}
【问题讨论】:
-
用户不应该是联系人的子类吗?在我看来,用户 是 已注册的联系人。但联系人不一定是用户。这也将解决您的验证问题,因为验证将在 User 模型中进行,从而不需要 :unless 子句。