我用phx.gen.html生成了几个控制器,模板等,这些模板包含的代码构成了如下的超链接。
<span><%= link "New Priority", to: priority_path(@conn, :new) %></span>
此生成的链接为复数即优先级,但控制器和其他项目均为单数,因此该链接不起作用。
首先,如何影响priority_path,和/或第二,如何防止这种情况再次发生?
答案 0 :(得分:1)
我怀疑您没有将路由添加到router.ex
文件中。
resources("/priorities", PriorityController)
或
resources("/priority", PriorityController)
或
get("/priority", PriorityController, :new)
都应该与priority_path(@conn, :new)
如果要遵循约定,这将是第一个使用复数路径和单数控制器的示例,但是只要控制器和路径辅助函数匹配({{1}和PriorityController
与priority_path
和PrioritiesController
),因为路径帮助程序似乎是根据控制器名称生成的。
除非您使用priorities_path
选项,否则它看起来像:
:as
将为您提供resources("/priorities", PrioritiesController, as: :priority)
的帮助者。而
priority_path
会给您resources("/priorities", PrioritiesController)
的帮助者。