рельсы 3, я не использую redirect_to правильно? - PullRequest
0 голосов
/ 07 марта 2011

Это должно быть проще всего в мире, но перенаправление POST не работает.

Обычно удаленная система отправляет данные в один из моих методов "mainhandler"

В одной ситуациитем не менее он передает данные в другой обработчик «noaudio», который ПРЕДЛАГАЕТСЯ просто стереть переменную сеанса, а затем «передать POST» обычному обработчику («основной обработчик»)

  match '/mainhandler' =>"widgets#mainhandler"

Мой код:

def noaudio
  puts "**** NOAUDIO"
  session[:audiofile] = ""
  redirect_to "/mainhandler"
end

def mainhandler
  puts "**** NEVER GETS HERE FROM NOAUDIO ??"
end

то, что я вижу в журнале (ниже), выглядит как перенаправление, но обработчик "mainhandler" никогда не выполняется ... Я вижу "put""в обработчике noaudio, и я вижу, что выглядит как хороший редирект ... но mainhandler никогда не выполняется.

**** NOAUDIO

Started POST "/noaudio" for 1.2.3.4 at 2011-03-07 09:39:22 -0800
  Processing by WidgetsController#noaudio as HTML
  Parameters: blah blah blah
Redirected to http://mydomain.com/mainhandler
Completed 302 Found in 1ms

Я использую redirect_to неправильно? или он не работает для POST? (хотя япо-видимому, все еще видел бы по крайней мере GET)

Ответы [ 2 ]

3 голосов
/ 07 марта 2011

Перенаправления действительно не работают для POST.

Вы можете взглянуть на это для получения дополнительной информации:

redirect_to с использованием POST в рельсах

0 голосов
/ 07 марта 2011

Если вы действительно должны иметь этого посредника и хотите отправить данные в новый URL-адрес, вы можете использовать класс Ruby Net :: HTTP и передать данные.

Я думаю, тебе стоит подумать дважды и спросить себя, действительно ли это то, что ты хочешь сделать.

...