Ваша participant
модель имеет ассоциативное имя users
.
Вы можете установить ассоциацию has many through
следующим образом:
# room.rb
belongs_to :user
has_many :participants
has_many :users, through: :participants
, чтобы в вашем контроллере вы могли получить пользователей комнаты:
room = Room.find(1)
users = room.users
Членство легко и легко настроить. Можно также использовать различных поставщиков для использования Active Directory или некоторого другого членского местоположения.
Вы не должны должны быть интегрировать базы данных, можно использовать для аутентификации пользователей и затем, пока они допустимы, пойдите, запрашивают другую базу данных для данных. Это - хороший способ сохранить информацию отдельной из соображений безопасности.
Для хорошего учебного руководства я предложил бы: http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx
И если Вы хотите создать своего собственного поставщика членства: http://www.asp.net/learn/videos/video-189.aspx
Учебные руководства - существуют ряд хороших учебных руководств на сайте ASP.NET. Мы использовали средства поставщика членства и имеем интегрированный с нашей базой данных - мы используем значение "имени пользователя" в качестве внешнего ключа к нашим собственным таблицам с дополнительной "бизнес-" информацией.
Система работает хорошо с минимальным кодированием.
В целом я даю его ползунки, но существует несколько незначительных недостатков, о которых я могу думать:
Или довод "против" или про, зависит от Вашей точки зрения: