2010-10-16 3 views
2

У меня проблема с эффективностью/эффективностью/производительностью.Rails Пользователи has_one: профиль vs. show page

Если у меня есть страница профиля для каждого пользователя в моей системе, и у меня уже есть модель пользователя. Лучше ли иметь всю информацию о пользователях в пользовательской модели и вытащить ее на страницу показа пользователей

, чтобы пользователи/шоу могли получить доступ к пользовательской модели и получить все соответствующие данные, как обо мне, интересах и т. Д.

ИЛИ

я должен сделать что-то вроде создания модели профиля и сделать HAS_ONE: профиль, в модели пользователя и хранить соответствующие данные в профиле есть?

Это не вопрос, а скорее то, что известно как «лучшая практика» и почему использовать один метод над другим? Благодаря!

ответ

3

Если бы это было мое приложение, я задал бы вопрос: «Как часто пользовательская таблица будет запрашиваться без профиля». Если ответ часто, то уверен, нормализуйтесь. Но знайте, что создание другой таблицы для профиля добавляет накладные расходы на соединение и дополнительный внешний ключ (возможно, даже индекс ...).

Я видел, как это делается в обоих направлениях, и для меня более естественно сохранять информацию пользователя с пользователем. Если информация становится действительно подробной, как несколько контактных адресов и т. Д., Вы можете подумать о том, чтобы сломать некоторые из них.

+0

спасибо Стив, я видел, как это делалось в обоих направлениях, и я всегда удивлялся. Ваш ответ имеет большой смысл. – jim