Недавно я обновил свой проект до последней версии Rails (5.2), чтобы получить ActiveStorage
- библиотеку, которая обрабатывает загрузку вложений в облачные сервисы, такие как AWS S3, Google Cloud и т. Д.
Почти все работает нормально. Я могу загружать и прикреплять изображения с помощью
user.avatar.attach(params[:file])
и получить его с
user.avatar.service_url
Но теперь я хочу заменить / обновить аватар пользователя. Я думал, что смогу бежать
user.avatar.attach(params[:file])
снова. Но это вызывает ошибку:
ActiveRecord::RecordNotSaved: Failed to remove the existing associated avatar_attachment. The record failed to save after its foreign key was set to nil.
Что это должно означать? Как я могу изменить аватар пользователя?