Проверьте уникальность user_id, friend_id, event_id в Rails 3 - PullRequest
0 голосов
/ 28 марта 2011

Когда пользователь просматривает событие в моем приложении, я сравниваю список участников с его друзьями по Фейсбуку и сохраняю любые пересечения, которые я нахожу в таблице 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 голосов
/ 28 марта 2011
validates_uniqueness_of :friend_id, :scope => [:user_id, :event_id]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...