В моем приложении администратор может предложить и отредактировать профиль другого пользователя. Я хотел бы, чтобы пользователь с правами администратора мог предложить (новый) аватар для пользователя без прав администратора. В настоящее время модель моего пользователя (user = spkr
в моем приложении) имеет:
has_one_attached :image
has_one_attached :edited_image
Где image
- изображение аватара, выбранное пользователем, а edited_image
- изображение аватара, предложенное Администратор
При использовании административной формы «обновление» edited_image
устанавливается
if spkr_params[:edited_image].present?
@spkr.edited_image = spkr_params[:edited_image]
end
При этом успешно устанавливается вложение как edited_image
.
Когда пользователь-администратор отправляет на редактирование не администратор получает подтверждение по электронной почте. При нажатии я бы хотел image
пользователя без прав администратора обновить.
...
if @spkr.edited_image.present?
@spkr.image.purge
@spkr.image = @spkr.edited_image
end
@spkr.save!
Однако я получаю следующую ошибку, которая возникает при @spkr.save!
:
Could not find or build blob: expected attachable, got #<ActiveStorage::Attached::One:0x00007fdcc44fa440 @name="edited_image", @record=#<Spkr id: 154... >>
Что является edited_image
из @spkr
:
@spkr.edited_image
=> #<ActiveStorage::Attached::One:0x00007fdcc44fa440 @name="edited_image", @record=#<Spkr id: 154...>>
Мне кажется, что @ spkr.edited_image не является "присоединяемой частью" @ spkr.edited_image, но я не уверен, как решить эту проблему.
Спасибо за любую помощь.