Вам нужны новые и создавать методы для профилей? - PullRequest
0 голосов
/ 27 марта 2011

Допустим, профиль - это его собственная модель, а у пользователя есть профиль. Когда пользователь создан, ему / ей автоматически должен быть предоставлен пустой профиль по умолчанию. Таким образом, я предполагаю, что мне не нужно новое или создавать действие для контроллера профилей, а только обновлять, редактировать и показывать. Это предположение верно? Если да, то как мне автоматически создать пустой профиль? По моему пользователю создать метод?

1 Ответ

0 голосов
/ 27 марта 2011

Да, вы можете иметь дело с созданием в пользовательской модели.Определение ассоциации has_one автоматически включает методы для построения и создания (в этом случае это будут User # create_profile и User # build_profile).Хорошей практикой является установка обратного вызова before_create, которое вызывает build_profile, чтобы вы не получили потерянную запись пользователя, если профиль не сохранен.

Что касается контроллеров, я обычно неТ даже нравится делать отдельные контроллеры для профилей пользователей.Поскольку для каждой записи пользователя всегда будет одна запись профиля, вы можете считать, что атрибуты профиля логически эквивалентны атрибутам пользователя (они помещаются в свою собственную таблицу, в основном ради организации).Таким образом, вы можете просто привязать профиль к обычным операциям User CRUD.Если вам действительно нравится идея отдельного profile_controller, подумайте о том, чтобы настроить его как вложенный ресурс, поскольку у вас всегда будет user_id, когда вы работаете с профилем.

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