验证Rails 3中user_id,friend_id,event_id的唯一性

时间:2011-03-28 14:23:50

标签: ruby-on-rails-3

当用户在我的应用中查看事件时,我会将与会者列表与用户的FaceBook朋友进行比较,并存储我在EventFriends表中找到的任何交叉点。

我需要验证表格中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,event_id和friend_id列。

belongs_to :event
belongs_to :user

1 个答案:

答案 0 :(得分:0)

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