2013-11-22 3 views
0

Я перенаправляю с одного контроллера на другой. Приемный контроллер, uploads, не имеет действия index, но имеет действие create, которое я пытаюсь использовать, очевидно. Однако, когда я обращаю, я получаю следующую проблемуПеренаправление на контроллер, не прошедший действие

Неизвестное действие «Индекс» Действие не может быть найдено для UploadsController

redirect_to :controller => 'uploads', :action => 'create', flash: {error: "there was an error"}

ответ

1

Возможно, потому что redirect_to предполагает, что его перенаправление с запросом GET.

Поскольку индекс & создают действия и перейти к тому же пути, и в зависимости от глагола HTTP, Rails решает, какие действия назвать ...

Таким образом, если приложение получает запрос GET к/загрузки будет оказывать действие индекса, и если он получит POST, он вызовет действие create.

Кроме того, я не думаю, что вы можете перенаправить на http POST ... Вы уверены, что это то, что вы хотите сделать?

+0

Yup, был проблемой GET/POST. Понял, что я вообще не хочу даже перенаправлять действие POST, но все равно приятно знать, почему это происходит! –

0

:method => :post Попробуйте указать в запросе. Создавать действия должны только реагировать на это, если вы не делаете причудливые вещи с помощью маршрутов.

Смежные вопросы