Ruby / Rails Подождите, пока redirect_to разрешится и что-то сделает в зависимости от ответа - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть redirect_to в приложении rails , которое достигает конечной точки для отправки видео в Zencoder для кодирования в несколько различных форматов.

Сразу после получения redirect_to , который перенаправляет на представление.Происходит перенаправление к представлению, которое происходит слишком быстро , поэтому, когда представление делает первый запрос для URL-адресов Zencoder - оно выдает 404s .При обновлении запросы: 200

Я бы хотел:

  1. На мгновение отложить перенаправление, чтобы 404 не происходило (проще)

  2. Прослушивание перенаправления Zencoder и перенаправление на представление только после получения ответа от Zencoder

Вот соответствующий код:

  def edit
    @director = Director.find(params[:id])
    @director_videos = Video.where(:director_id => @director.id)
    if params[:bucket].present?
      # process video
      key = params[:key]
      video = Video.new
      video.director_id = @director.id

      video.video_url = "https://"+Settings.S3_BUCKET + ".s3.amazonaws.com/" + URI.unescape(key)
      video.save    
      video.process
      redirect_to '/encode_progress' and return
    end
    @video_uploader = Video.new.video
    @video = Video.new
    redirect = "http://"+Settings.DOMAIN+"/directors/"+@director.id.to_s+"/edit"
    @video_uploader.success_action_redirect = redirect
  end
...