Я пытаюсь перенаправить с моего router.ex.
У меня есть что-то вроде:
import Phoenix.Controller, only: [redirect: 2]
scope("/", MyApp) do
forward "/test", :redirect, to: "/new-url"
end
Текущая ошибка, которую я получаю:
== Compilation error in file lib/myapp_web/router.ex ==
** (ArgumentError) expected an Elixir module, got: "redirect"
Что я делаю неправильно?
Phoenix.Router.forward/4
ожидает вилка в качестве второго параметра.
Вне любой области добавьте строку:
forward "/test", MyApp.NewUrl
где MyApp.NewUrl
— это либо штекерный модуль, либо контроллер phoenix.
Phoenix.Controller.redirect это плагин, если я правильно понял
forward
ожидает штекер модуля. Реализация, вызывающая Phoenix.Controller.redirect/2
, буквально однострочная.
Могу ли я не использовать здесь Phoenix.Controller.redirect? Или мне нужно определить новый контроллер только для реализации перенаправления?