【发布时间】:2014-10-07 15:01:13
【问题描述】:
我有一个邀请系统,允许用户提名其他人加入测试版。我需要验证用户向其发送邀请的电子邮件地址,并确保该电子邮件地址是唯一的,但仅限于 current_user 的邀请列表范围内。
换句话说,该模型应允许邀请系统中存在相同的电子邮件地址,但不允许在current_user 的邀请列表范围内重复。
我的UserModel 有:
has_many :invitations
validates_uniqueness_of :email
我的InvitationModel 有:
belongs_to :user
我不能将validates_uniqueness_of :email 放在InvitationModel 中,因为我需要在数据库中允许给定电子邮件地址的多个实例,但要确保每个实例都有一个唯一的发件人(用户)。
关于如何将验证限制在current_user 范围内的任何想法?
【问题讨论】:
-
validates_uniqueness_of :email, scope: :user(_id) -
标签: ruby-on-rails-3 validation rails-activerecord