Rails 5 - Сохранение: формат js при перенаправлении - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть ситуация, когда:

  1. Браузер отправляет запрос формата JS на сервер.
  2. Действие сервера перенаправляет на другое действие сервера.
  3. Второе действие отображает javascript в файле .js.erb.

Несмотря на попытки нескольких подходов, Rails 5 отображает .js.erb буквально, показывая мне реальный код в представлении.

Как можно заставить Rails redirect_to работать в формате JS, чтобы файл js.erb работал правильно?

В Rails 4.2, это работает :

redirect_to custom_data_path(...), format: 'js'

В Rails 5.2 я пробовал:

# 1
redirect_to custom_data_path(...), format: 'js'

# 2
redirect_to custom_data_path(...), format: :js

# 3
respond_to do |format|
  format.js { redirect_to custom_data_path(...) }
end

# 4
request.format = :js
respond_to do |format|
  format.js { redirect_to custom_data_path(...) }
end

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

У меня была такая же проблема, когда мой формат (json) не сохранялся при перенаправлении

Я решил это с помощью (Rails 5):

redirect_to _path (, params: request.query_parameters.merge (формат: params [: формат]))

0 голосов
/ 14 сентября 2018

Я не думаю, что есть концепция или «перенаправление» для запросов js.Вы всегда можете отобразить скрипт, который выполняет запрос к нужному «перенаправленному» URL.

Вместо

format.js { redirect_to custom_data_path(...) }

Вы можете просмотреть это действие с помощью

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