如何在iex中查看凤凰路线?

时间:2016-06-04 18:51:58

标签: elixir phoenix-framework

如何在iex

中查看路线的输出

我知道我可以使用mix Phoenix.routes执行此操作,但希望以交互方式执行此操作。

以下是我想要做的一个例子:

iex -S Phoenix.server

mymodel_path

这给了我这个错误:

** (CompileError) iex:2: undefined function mymodel_path/0

6 个答案:

答案 0 :(得分:9)

所有url / path助手都被编译到模块YourApp.Router.Helpers中的函数中。您可以导入它并使用与模板中相同的参数进行调用(您可能会将conn作为第一个参数传递,但因为我们在{{1}中没有conn会话,你可以传递iex):

YourApp.Endpoint

(我在这个项目中有一个iex(1)> import YourApp.Router.Helpers nil iex(2)> page_path(YourApp.Endpoint, :index) "/" iex(3)> task_path(YourApp.Endpoint, :show, 1) "/tasks/1" 。)

答案 1 :(得分:8)

intList

Phoenix 1.3更新iex> Mix.Tasks.Phoenix.Routes.run '' page_path GET / YourApp.PageController :index user_path GET /users YourApp.UserController :index user_path GET /users/new YourApp.UserController :new user_path GET /users/:id YourApp.UserController :show user_path POST /users YourApp.UserController :create 即:

mix phoenix.routes is deprecated. Use phx.routes instead.

答案 2 :(得分:1)

您可以在此处的官方文档中找到适合您的相关文档 - http://www.phoenixframework.org/docs/routing#section-path-helpers

假设您的应用名称为HelloPhoenix

iex> import HelloPhoenix.Router.Helpers
iex> alias HelloPhoenix.Endpoint
iex> user_path(Endpoint, :index)
"/users"

iex> user_path(Endpoint, :show, 17)
"/users/17"

iex> user_path(Endpoint, :new)
"/users/new"

iex> user_path(Endpoint, :create)
"/users"

答案 3 :(得分:0)

对于伞形应用程序,您应该使用

Mix.Tasks.Phx.Routes.run([YourApp.Web.Router])

答案 4 :(得分:0)

YourApp.Web.Router.__routes__()

答案 5 :(得分:0)

假设:项目名称=芒果 我创建了一个注册控制器(:new,:create)和一个CategoryController(:show)

Model