凤凰卫视phx.gen.html生成错误链接

时间:2018-07-31 11:21:28

标签: elixir phoenix-framework

我用phx.gen.html生成了几个控制器,模板等,这些模板包含的代码构成了如下的超链接。

<span><%= link "New Priority", to: priority_path(@conn, :new) %></span>

此生成的链接为复数即优先级,但控制器和其他项目均为单数,因此该链接不起作用。

首先,如何影响priority_path,和/或第二,如何防止这种情况再次发生?

1 个答案:

答案 0 :(得分:1)

我怀疑您没有将路由添加到router.ex文件中。

resources("/priorities", PriorityController)

resources("/priority", PriorityController)

get("/priority", PriorityController, :new)

都应该与priority_path(@conn, :new)

一起使用

如果要遵循约定,这将是第一个使用复数路径和单数控制器的示例,但是只要控制器和路径辅助函数匹配({{1}和PriorityControllerpriority_pathPrioritiesController),因为路径帮助程序似乎是根据控制器名称生成的。

除非您使用priorities_path选项,否则它看起来像:

:as

将为您提供resources("/priorities", PrioritiesController, as: :priority) 的帮助者。而

priority_path

会给您resources("/priorities", PrioritiesController) 的帮助者。

The docs might help.