2014-10-07 41 views
0

我有一個邀請系統,允許用戶提名其他人加入測試版。我需要驗證用戶發送邀請的電子郵件地址,並確保電子郵件地址是唯一的,但僅限於current_user的邀請列表範圍內。將模型驗證限制爲僅與Rails 3.2中與current_user關聯的記錄

換句話說,模型應該允許在邀請系統中存在相同的電子郵件地址,但不允許在current_user的邀請列表範圍內存在重複。

UserModel有:

has_many :invitations 

validates_uniqueness_of :email 

和我InvitationModel有:

belongs_to :user 

我不能把validates_uniqueness_of :emailInvitationModel裏面,因爲我需要讓內給定的電子郵件地址的多個實例數據庫,但要確保每個實例都有唯一的發件人(用戶)。

關於如何將驗證限制在current_user範圍內的任何想法?

+1

'validates_uniqueness_of:電子郵件,範圍:用戶(_id)' – phoet 2014-10-07 16:55:49

+0

以上是拋出一個錯誤,但有點擺弄遞給我: 'validates_uniqueness_of:電子郵件,:範圍=>:用戶' 我仍然需要測試,但我會加上一個你讓我在正確的軌道上。 – Matteo 2014-10-07 21:00:27

回答