Ключевая вещь, которую нужно понять о user
против user_id
в вашей модели, заключается в том, что user_id
- это внешний ключ, а user
- это экземпляр из User
(например, это объект модели).
Без user_id
, рельсы не могут сделать правильный user
для вас.
Обратите внимание, что если вы не предварительно загружаете ваши ассоциации, если вам нужен только идентификатор пользователя (скажем, для создания URL-адреса), использование micropost.user_id
будет быстрее, чем micropost.user.id
, поскольку rails не нужно создавать экземпляр объекта User
только для получения идентификатора.