Когда пользователь просматривает событие в моем приложении, я сравниваю список участников с его друзьями по Фейсбуку и сохраняю любые пересечения, которые я нахожу в таблице 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