elixir - 凤凰混合 phx.gen.html 生成坏链接
问题描述
我使用 phx.gen.html 生成了几个控制器、模板等,模板包含构建超链接的代码,如下所示。
<span><%= link "New Priority", to: priority_path(@conn, :new) %></span>
这生成的链接是复数,即优先级,但控制器和其他项目都是单数,所以链接不起作用。
首先,如何影响priority_path,和/或第二,如何防止这种情况再次发生?
解决方案
我怀疑您没有将路由添加到router.ex
文件中。
resources("/priorities", PriorityController)
或者
resources("/priority", PriorityController)
或者
get("/priority", PriorityController, :new)
都应该与priority_path(@conn, :new)
如果您想遵循约定,它将是您将使用的第一个具有复数路径和单数控制器的示例,但是您可以使用任何您喜欢的方式,只要控制器和路径辅助函数匹配(PriorityController
和priority_path
vsPrioritiesController
和priorities_path
),因为路径helper 似乎是从控制器名称生成的。
除非您使用该:as
选项,否则该选项如下所示:
resources("/priorities", PrioritiesController, as: :priority)
会给你priority_path
帮手。然而
resources("/priorities", PrioritiesController)
会给你priorities_path
帮手。
推荐阅读
- android - 是否可以使用 androids new Jetpack Compose 将 fab 或按钮添加到底部栏?
- java - 自 JavaFX 17 以来无法再构建 JavaFX 库
- reactjs - 如何将在线构建的 CKEditor4 添加到 Next JS 项目中
- php - 自定义身份验证与 Sanctum 不兼容
- common-lisp - 在 cl-ppcre 正则表达式中转义引号
- angular - Angular 模块中的嵌套路由问题
- java - 带有 JDK 包的 AWS NodeJS lambda 函数
- r - openxlsx - 读取 xlsx 时防止转换十进制数
- python - 在 PyCharm(专业版)中运行 Pyramid 项目时,找不到方案“file+ini”、协议“wsgi”的匹配加载器
- c# - 如何使用此代码制作 3 层标题网格