我在不同的范围/文件夹中有2个类似的控制器:
MyApp.Controller1
MyApp.Namespace1.Controller1
和
# mix phoenix.routes
some_path GET / MyApp.HomeController1 :index
some_path GET /namespace1 MyApp.Namespace1.Controller1 :index
如何在这些控制器中的_url或_path助手中引用:index
?
答案 0 :(得分:2)
这应该是对先前答案的评论,但它太长了。
在web/router.ex
中列出路线的第二个选项是:
scope "/namespace1" do
get "/", MyApp.Namespace1.Controller1, :index, as: "namespaced"
end
现在,您应该可以在不传递模块名称的情况下使用some_path(conn, :index)
和namespaced_path(conn, :index)
。
答案 1 :(得分:1)
根据您的phoenix.routes
,这些来电分别为:
some_path(MyApp.Endpoint, :index)
some_path(MyApp.Namespace1.Endpoint, :index)
有关详细信息,请参阅routing章节。