Как ждать ответа службы Rails, прежде чем продолжить действие контроллера? - PullRequest
0 голосов
/ 20 марта 2020

Я прочитал несколько статей и ТАКИХ постов, но, похоже, все больше путаюсь.

У меня есть приложение Vue с Rails API, и я пытаюсь разрешить пользователю загружать аватар профиля. На внешнем интерфейсе я использую Uppload , который отправляет POST моей конечной точке Rails. В действии контроллера я использую Cloudinary gem для выполнения загрузки.

В основном я хочу выполнить Cloudinary загрузку, а затем использовать URL-адрес из ответа на обновите это поле в моей базе данных.

profile_controller.rb

def update_avatar
  res = Cloudinary::Uploader.upload(params[:file], folder: 'avatars')
  current_user.update(avatar_url: res[:secure_url])
  @user = current_user
end

Конечно, res[:secure_url] возвращает пустое значение, поскольку ответ еще не вернулся, но как это сделать? Я жду ответа, прежде чем пытаться обновить поле для моего current_user?

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