2011-03-28 50 views
0

当用户在我的应用中查看事件时,我将与会者列表与用户的FaceBook好友进行比较,并存储我在EventFriends表中找到的任何交集。验证Rails 3中user_id,friend_id,event_id的唯一性

我需要验证表中3列的唯一性,因为一个用户可能有一个朋友正在参加多个事件。

任何想法?

这里是我的模型的相关部分:

user.rb

has_many :event_users 
accepts_nested_attributes_for :event_users, :allow_destroy => true 
has_many :events, :through => :event_users, :order => 'start' 

has_many :event_friends 
accepts_nested_attributes_for :event_friends, :allow_destroy => true 

event.rb

has_many :event_users, :dependent => :destroy 
accepts_nested_attributes_for :event_users, :allow_destroy => true 
has_many :users, :through => :event_users 

has_many :event_friends, :dependent => :destroy 
accepts_nested_attributes_for :event_friends, :allow_destroy => true 

event_user.rb

belongs_to :event 
belongs_to :user 
validates_uniqueness_of :event_id, :scope => :user_id 

event_friend.rb

这个表有user_id说明,事项标识和friend_id列。

belongs_to :event 
belongs_to :user 

回答

0
validates_uniqueness_of :friend_id, :scope => [:user_id, :event_id]