Пользователи Rails has_one: профиль против страницы шоу - PullRequest
2 голосов
/ 16 октября 2010

У меня есть проблема с лучшей практикой / эффективностью / производительностью.

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

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

OR

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

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

1 Ответ

3 голосов
/ 16 октября 2010

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

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

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