Elixir Phoenix中电子邮件模板中的验证链接

时间:2018-05-24 07:51:43

标签: phoenix-framework

因此,请查看hex.pm源代码,了解它是如何完成的。

<!-- verification.html.eex --> 
<%
verify_url = Routes.email_url(Endpoint, :verify, username: @username, email: @email, key: @key)
%>
  • 我不确定Routes.email_url。所以我通读了More on Path Helpers,但仍然没有把它弄好。

我想知道如何返回上述网址。

这就是我router.ex中的内容。

get "/verify", UserController, :verify_email

还需要什么?有一件事似乎我需要在其中一个模块或控制器中设置它。

alias MyApp.Web.Router.Helpers, as: Routes

1 个答案:

答案 0 :(得分:0)

我尝试过这种方式并且有效。但是我仍然不确定在哪里放置Route的别名,所以我只使用Router.Helpers。

<!-- router.ex --> 
get "/verify", EmailController, :verify

<!-- verification.html.eex --> 
<% verify_url = MyAppWeb.Router.Helpers.email_url(MyAppWeb.Endpoint, :verify, uuid: @uuid) %>

<!-- email_controller.ex --> 
def verify(conn, %{"uuid" => uuid}) do
end