Разрешить пользователям по умолчанию фото или нет фото активного хранилища AWS. (Реагируют) - PullRequest
0 голосов
/ 14 апреля 2020

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

Module::DelegationError - to_model delegated to attachment, but attachment is nil:
  app/views/api/users/_user.json.jbuilder:2:in `_app_views_api_users__user_json_jbuilder__2484613701862574119_70176370328740'
  app/views/api/users/show.json.jbuilder:1:in `_app_views_api_users_show_json_jbuilder___4399181352593359138_70176370317120'
  app/controllers/api/users_controller.rb:6:in `create 

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

Мои сильные параметры позволяют: photo и: photoUrl

jbuilder

json.extract! user, :id, :username, :email, :artist, :albums, :location, :description, :genre
json.photoURL url_for(user.photo)

рабочее семя

User.first.photo.attach(io: File.open("/Users/___/Documents/___/jason.jpg"), filename: "jason.jpg")

Включено в модель пользователя

has_one_attached :photo

Было бы лучше включить столбец с изображением профиля в мою таблицу пользователей и прикрепить к нему с учетом nil? В конечном счете, я тоже хочу включить изображения баннеров, поэтому, возможно, весь мой подход неверен, и я недостаточно разбираюсь в активном хранилище.

Спасибо, извините, если этой информации недостаточно, новинка в стеке.

...