我有4個模特我正在使用:用戶,列表,權限,邀請。驗證模型對相關模型的唯一性?
它們之間有聯繫,像這樣:
用戶有很多名單,並列出有很多用戶,加入表是權限表。 用戶可以與邀請共享列表。我邀請的模型看起來像這樣:
Invitation(id: integer, list_id: integer, sender_id: integer, recipient_email: string, created_at: datetime, updated_at: datetime)
我需要做的,是當用戶創建的邀請,我想運行檢查,確保目標用戶是什麼,還沒有針對許可名單。
在我的邀請模式,我現在有這樣的:
validates_uniqueness_of :list_id, :scope => :recipient_email, :message => "is already shared with this user"
這不工作,雖然,因爲我真的需要看的權限模型,並創造了我的邀請的這樣做:
validates_uniqueness_of :list_id, :scope => :user_id, :message => "is already shared with that user"
基本上,我想在發送邀請之前檢查用戶和列表之間是否已存在關係。如果有必要,我可以重做數據庫邏輯,我只是停留在這一點上。