我想将逻辑添加到 web/templates/user/form.html.eex 中,它根据 user#new
在 user#edit
和 @current_user
中呈现。但是,如果我执行以下代码,则会收到 assign @current_user not available in eex template
错误。
<%= if @current_user do %>
<h1>Example</h1>
<% end %>
如何使
@current_user
在 form.html.eex
中可用? 最佳答案
假设您正在使用以下内容渲染 form.html.eex
:
render("form.html.eex", changeset: @changeset, conn: @conn)
并且您正在使用assigns中可用的
@current_user
渲染“父”模板。您可以在模板的
@current_user
函数中传递 render
:render("form.html.eex", changeset: @changeset, conn: @conn, current_user: @current_user)
您可以通过以下方式传递assigns中的所有内容:
render("form.html.eex", @conn.assigns)
但是,您应该谨慎执行此操作,请记住显式优于隐式。
关于elixir - 如何使@current_user 在 form.html.eex 中可用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36999238/