#elixir #phoenix-framework
#elixir #phoenix-framework
Вопрос:
У меня есть 2 похожих контроллера в разных областях / папках:
MyApp.Controller1
MyApp.Namespace1.Controller1
и
# mix phoenix.routes
some_path GET / MyApp.HomeController1 :index
some_path GET /namespace1 MyApp.Namespace1.Controller1 :index
Как я могу ссылаться :index
на помощников _url или _path в этих контроллерах?
Ответ №1:
Это должен быть комментарий к предыдущему ответу, но он был слишком длинным. Существует второй вариант для обозначения маршрута в вашем web/router.ex
:
scope "/namespace1" do
get "/", MyApp.Namespace1.Controller1, :index, as: "namespaced"
end
Теперь вы должны иметь возможность использовать some_path(conn, :index)
и namespaced_path(conn, :index)
без передачи имени модуля.
Ответ №2:
Согласно вашему phoenix.routes
, эти вызовы соответственно:
some_path(MyApp.Endpoint, :index)
some_path(MyApp.Namespace1.Endpoint, :index)
Подробности см. в главе о маршрутизации.