我有一個邀請系統,允許用戶提名其他人加入測試版。我需要驗證用戶發送邀請的電子郵件地址,並確保電子郵件地址是唯一的,但僅限於current_user
的邀請列表範圍內。將模型驗證限制爲僅與Rails 3.2中與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:電子郵件,範圍:用戶(_id)' – phoet 2014-10-07 16:55:49
以上是拋出一個錯誤,但有點擺弄遞給我: 'validates_uniqueness_of:電子郵件,:範圍=>:用戶' 我仍然需要測試,但我會加上一個你讓我在正確的軌道上。 – Matteo 2014-10-07 21:00:27